Guia simples de implementação de pesquisa

Última atualização em 2023-12-04
  • Tópicos
  • Search
    Exibir mais informações sobre este tópico
  • Criado para:
  • Intermediate
    Experienced
    Developer

A implementação de pesquisa simples são os materiais do Adobe Summit lab AEM Search Demystified. Esta página contém os materiais deste laboratório. Para um tour guiado pelo laboratório, consulte a pasta de trabalho do laboratório na seção Apresentação desta página.

Visão geral da arquitetura de pesquisa

Materiais de apresentação

Marcadores

Ferramentas

Capítulos

Os links de capítulo abaixo assumem o Pacotes iniciais estão instalados no AEM Author emhttp://localhost:4502

Pacotes

Pacotes iniciais

Pacotes de capítulo

Materiais referenciados

Correções e acompanhamento

Correções e esclarecimentos das discussões no laboratório e respostas das perguntas de acompanhamento dos participantes.

  1. Como interromper a reindexação?

    A reindexação pode ser interrompida pelo MBean IndexStats disponível via Console da Web AEM > JMX

  2. Como os índices do oak podem suportar vários locatários?

    O Oak oferece suporte à inserção de índices por meio da árvore de conteúdo, e esses índices serão indexados somente dentro dessa subárvore. Por exemplo /content/site-a/oak:index/cqPageLucene pode ser criado para indexar conteúdo somente em /content/site-a.

    Uma abordagem equivalente consiste em includePaths e queryPaths propriedades em um índice em /oak:index. Por exemplo:

    • /oak:index/siteAcqPageLucene@includePaths=/content/site-a
    • /oak:index/siteAcqPageLucene@queryPaths=/content/site-a

    As considerações com essa abordagem são:

    • As consultas DEVEM especificar uma restrição de caminho que seja igual ao escopo do caminho de consulta do índice, ou ser um descendente dele.
    • Índices com escopo mais amplo (por exemplo, /oak:index/cqPageLucene) TAMBÉM indexarão os dados, resultando em assimilação duplicada e custo de uso do disco.
    • Pode exigir gerenciamento de configuração duplicado (por exemplo, adicionar as mesmas indexRules em vários índices de locatário se eles precisarem atender aos mesmos conjuntos de consultas)
    • Essa abordagem é mais adequada no nível de publicação do AEM para pesquisa de site personalizada, como no AEM Author, é comum que as consultas sejam executadas no alto da árvore de conteúdo para diferentes locatários (por exemplo, por meio do OmniSearch). Definições de índice diferentes podem resultar em um comportamento diferente com base apenas na restrição de caminho.
  3. Onde está uma lista de todos os analisadores disponíveis?

    O Oak expõe um conjunto de elementos de configuração do analisador do lucene para uso no AEM.

  4. Como pesquisar por Páginas e Ativos na mesma query?

    Uma novidade no AEM 6.3 é a capacidade de consultar vários tipos de nó no mesmo query fornecido. A seguinte consulta do QueryBuilder. Observe que cada "subconsulta" pode resolver para seu próprio índice, portanto, neste exemplo, o cq:Page subconsulta resolve para /oak:index/cqPageLucene e a variável dam:Asset subconsulta resolve para /oak:index/damAssetLucene.

    group.p.or=true
    group.1_group.type=cq:Page
    # add all page restrictions to this group
    group.2_group.type=dam:Asset
    # add all asset restrictions to this group
    

    resultados na consulta e no plano de consulta a seguir:

    QUERY:(//element(*, cq:Page) | //element(*, dam:Asset))
    
    PLAN: [cq:Page] as [a] /* lucene:cqPageLucene(/oak:index/cqPageLucene) *:* */ union [dam:Asset] as [a] /* lucene:damAssetLucene(/oak:index/damAssetLucene) *:* */
    

    Explore a consulta e os resultados usando QueryBuilder Debugger e Plug-in AEM Chrome.

  5. Como pesquisar em vários caminhos na mesma query?

    Uma novidade no AEM 6.3 é a capacidade de consultar em vários caminhos no mesmo query fornecido. A seguinte consulta do QueryBuilder. Observe que cada "subconsulta" pode resolver para seu próprio índice.

    group.p.or=true
    group.1_group.type=cq:Page
    group.1_group.path=/content/docs/en/6-2
    # add all page restrictions to this group
    group.2_group.type=cq:Page
    group.2_group.path=/content/docs/en/6-3
    # add all asset restrictions to this group
    

    resultados na seguinte consulta e plano de consulta

    QUERY: (/jcr:root/content/docs/en/_x0036_-2//element(*, cq:Page) | /jcr:root/content/docs/en/_x0036_-3//element(*, cq:Page))
    
    PLAN: [cq:Page] as [a] /* traverse "/content/docs/en/6-2//*" where isdescendantnode([a], [/content/docs/en/6-2]) */ union [cq:Page] as [a] /* traverse "/content/docs/en/6-3//*" where isdescendantnode([a], [/content/docs/en/6-3]) */
    

    Explore a consulta e os resultados usando QueryBuilder Debugger e Plug-in AEM Chrome.

Nesta página