Show Menu
TÓPICOS×

Search Essentials

Visão geral

O recurso de pesquisa é um recurso essencial do AEM Communities. Além dos recursos de pesquisa da plataforma AEM, o AEM Communities fornece a API de pesquisa UGC para fins de pesquisa de conteúdo gerado pelo usuário (UGC). O UGC tem propriedades exclusivas à medida que é inserido e armazenado separadamente de outro conteúdo do AEM e dados do usuário.
Para Comunidades, as duas coisas geralmente pesquisadas são:
  • Conteúdo postado por membros da comunidade
    • Usa a API de pesquisa UGC do AEM Communities.
  • Usuários e grupos de usuários (dados do usuário)
    • Usa os recursos de pesquisa da plataforma AEM.
Esta seção da documentação é de interesse para desenvolvedores que estão criando componentes personalizados que criam ou gerenciam o UGC.

Nós de segurança e sombra

Para um componente personalizado, é necessário usar os métodos SocialResourceUtilities . Os métodos de utilitário que criam e pesquisam o UGC estabelecem os nós de sombra necessários e garantem que o membro tenha as permissões corretas para a solicitação.
O que não é gerenciado pelos utilitários SRP são propriedades relacionadas à moderação.
Consulte SRP e UGC Essentials para obter informações sobre os métodos utilitários usados para acessar nós de sombra UGC e ACL.

API de pesquisa UGC

A loja comum do UGC é fornecida por um dos provedores de recursos do armazenamento (SRPs), cada um com possivelmente uma linguagem diferente de query nativa. Portanto, independentemente do SRP escolhido, o código personalizado deve usar métodos do pacote da API UGC ( com.adobe.cq.social.ugc.api ) que chamarão a linguagem do query apropriada para o SRP escolhido.

Pesquisas ASRP

Para ASRP , o UGC é armazenado na nuvem da Adobe. Embora o UGC não esteja visível no CRX, a moderação está disponível nos ambientes de autor e publicação. O uso da API de pesquisa UGC funciona para ASRP da mesma forma que para outros SRPs.
Atualmente, não existem ferramentas para gerenciar pesquisas ASRP.
Ao criar propriedades personalizadas que podem ser pesquisadas, é necessário seguir os requisitos de nomeação.

Pesquisas do MSRP

Para o MSRP , o UGC é armazenado no MongoDB configurado para usar o Solr para pesquisa. O UGC não estará visível no CRX, mas a moderação está disponível nos ambientes de autor e publicação.
Relativamente ao MSRP e ao Solr:
  • A Solr integrada para a plataforma AEM não é usada para MSRP.
  • Se estiver usando um console remoto para a plataforma AEM, ele poderá ser compartilhado com o MSRP, mas deverá usar coleções diferentes.
  • O Solr pode ser configurado para pesquisa padrão ou para pesquisa multilíngue (MLS).
  • Para obter detalhes sobre a configuração, consulte Configuração Configuração de Solr solar para MSRP.
Os recursos de pesquisa personalizados devem usar a API de pesquisa UGC.
Ao criar propriedades personalizadas que podem ser pesquisadas, é necessário seguir os requisitos de nomeação.

Pesquisas do JSRP

Para JSRP , o UGC é armazenado no Oak e está visível somente no repositório do autor ou instância de publicação do AEM em que foi inserido.
Como o UGC normalmente é inserido no ambiente de publicação, para sistemas de produção de vários editores, é necessário configurar um cluster de publicação, não um farm de publicação, para que o conteúdo inserido seja visível de todos os editores.
Para JSRP, o UGC inserido no ambiente de publicação nunca estará visível no ambiente do autor. Assim, todas as tarefas de moderação ocorrem no ambiente de publicação.
Os recursos de pesquisa personalizados devem usar a API de pesquisa UGC.

Indexação de Oak

Embora os índices Oak não sejam criados automaticamente para a pesquisa da plataforma AEM, a partir do AEM 6.2 eles foram adicionados para o AEM Communities para melhorar o desempenho e fornecer suporte para paginação ao apresentar os resultados da pesquisa UGC.
Se as propriedades personalizadas estiverem em uso e as pesquisas estiverem lentas, será necessário criar índices adicionais para que as propriedades personalizadas sejam mais eficientes. Para manter a portabilidade, siga os requisitos de nomeação ao criar propriedades personalizadas que podem ser pesquisadas.
Para modificar índices existentes ou criar índices personalizados, consulte Oak Query e Indexação .
O Oak Index Manager está disponível no AEM Commons ACS. Ele fornece:
  • Uma visualização de índices existentes.
  • A capacidade de iniciar a reindexação.
Para visualização dos índices Oak existentes no CRXDE Lite , o local é:
  • /oak:index/socialLucene

Propriedades de pesquisa indexadas

Propriedades de pesquisa padrão

Veja a seguir algumas das propriedades pesquisáveis usadas para vários recursos das Comunidades:
Propriedade
Tipo de dados
isFlagged
Booleano
isSpam
Booleano
leitura
Booleano
influência
Booleano
anexos
Booleano
sentimento
Longo
sinalizado
Booleano
adicionado
Data
modifiedDate
Data
estado
Sequência de caracteres
userIdentifier
Sequência de caracteres
response
Longo
jcr:title
Sequência de caracteres
jcr:description
Sequência de caracteres
sling:resourceType
Sequência de caracteres
allowThreadedReply
Booleano
isDraft
Booleano
publishDate
Data
publishJobId
Sequência de caracteres
respondido
Booleano
escolhido
Booleano
tag
Sequência de caracteres
cq:Tag
Sequência de caracteres
author_display_name
Sequência de caracteres
location_t
Sequência de caracteres
parentPath
Sequência de caracteres
parentTitle
Sequência de caracteres

Nomeação de propriedades personalizadas

Ao adicionar propriedades personalizadas, para que essas propriedades fiquem visíveis para as classificações e pesquisas criadas com a API de pesquisa UGC, é necessário adicionar um sufixo ao nome da propriedade.
O sufixo é para idiomas de query que usam um schema:
  • Ela identifica a propriedade como pesquisável.
  • Ela identifica o tipo de dados.
Solr é um exemplo de uma linguagem de query que usa um schema.
Sufixo
Tipo de dados
_b
Booleano
_dt
Calendário
_d
Duplo
_tl
Longo
_s
Sequência de caracteres
_t
Texto
Notas:
  • O texto é uma string tokenizada, a String não é. Use Texto para pesquisas incorretas (mais semelhantes a esta).
  • Para tipos de valores múltiplos, adicione "s" ao sufixo, por exemplo:
    • viewDate_dt : propriedade de data única
    • viewDates_dts : propriedade lista de datas

Filtros

Os componentes que incluem o sistema de comentários suportam a adição do parâmetro de filtro aos pontos finais.
A sintaxe de filtro para a lógica E e OU é expressa da seguinte forma (mostrada antes de ser codificada para URL):
  • Para especificar OU use um parâmetro de filtro com valores separados por vírgula:
    • filter=name eq 'Jennifer',name eq 'Jen'
  • Para especificar E usar vários parâmetros de filtro:
    • filter = name eq 'Jackson'&filter=message eq 'testing'
A implementação padrão do componente de pesquisa usa essa sintaxe como pode ser visto no URL que abre a página Resultados da pesquisa no guia Componentes da comunidade. Para experimentar, navegue até http://localhost:4503/content/community-components/en/search.html .
Os operadores de filtro são:
EQ
igual
NE
não é igual
LT
menor que
LTE
menor que ou igual a
GE
maior que
GTE
maior que ou igual a
CURTIR
correspondência difusa
É importante que o URL faça referência ao componente Comunidades (recurso) e não à página na qual o componente é colocado:
  • Correto: componente do fórum
    • /content/community-components/en/forum/jcr:content/content/forum.social.json
  • Incorreto: página do fórum
    • /content/community-components/en/forum.social.json

Ferramentas SRP

Existe um projeto GitHub da Adobe Marketing Cloud que contém:
Esse repositório contém ferramentas para gerenciar dados no SRP.
Atualmente, existe um servlet que oferece a capacidade de excluir todo o UGC de qualquer SRP.
Por exemplo, para excluir todo o UGC no ASRP:
curl -X POST http://localhost:4502/services/social/srp/cleanup?path=/content/usergenerated/asi/cloud -uadmin:admin

Resolução de Problemas

Query Solr

Para ajudar a solucionar problemas com um query Solr, ative o registro DEBUG para
com.adobe.cq.social.srp.impl.SocialSolrConnector .
O query Solr real será exibido no URL codificado no log de depuração:
O Query a ser resolvido é: sort=timestamp+desc&bl=en&pl=en&start=0&rows=10 &q=%2Btitle_t:(hello)+%2Bprovider_id:\/content/usergenerated/asi/mongo/content/+%2Bresource_type_s:&df=provider_id&trf=verbatim&fq={!cost%3D100}report_suite:mongo
O valor do q parâmetro é o query. Depois que a codificação do URL é decodificada, o query pode ser passado para a ferramenta Solr Admin Query para depuração adicional.