Guia de implementação de pesquisa simples

A Implementação de pesquisa Simples são os materiais da variável Adobe Summit-lab AEM Pesquisa Demystified. Esta página contém os materiais deste laboratório. Para obter um tour guiado do laboratório, visualize a pasta de trabalho do Lab 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 são instalados no AEM Author emhttp://localhost:4502

Pacotes

Embalagens iniciais

Pacotes de capítulo

Materiais referenciados

Correções e acompanhamento

Correções e esclarecimentos das discussões do laboratório e respostas para perguntas complementares dos participantes.

  1. Como parar a reindexação?

    A reindexação pode ser interrompida por meio do MBean IndexStats disponível por meio de Console da Web AEM > JMX

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

    O Oak suporta a inserção de índices através da árvore de conteúdo, e esses índices serão indexados somente nessa 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 é utilizar a variável 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 lá de.
    • Índices de escopo mais amplos (por exemplo, /oak:index/cqPageLucene) TAMBÉM indexará os dados, resultando em ingestão duplicada e custo de uso do disco.
    • Pode exigir gerenciamento de configuração duplicada (por exemplo, adicionar o mesmo indexRules em vários índices de locatários, se eles tiverem que atender aos mesmos conjuntos de query)
    • Essa abordagem é mais bem servida no nível de Publicação do AEM para pesquisa de site personalizada, como no Autor do AEM, é comum que consultas sejam executadas no alto da árvore de conteúdo para diferentes locatários (por exemplo, via OmniSearch) - definições de índice diferentes podem resultar em 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 lucene-fornece o analisador para uso no AEM.

  4. Como pesquisar por Páginas e ativos na mesma consulta?

    Uma novidade no AEM 6.3 é a capacidade de consultar vários tipos de nó na mesma consulta fornecida. A consulta do QueryBuilder a seguir. Observe que cada "subconsulta" pode resolver para seu próprio índice, portanto, neste exemplo, a variável cq:Page a subconsulta resolve /oak:index/cqPageLucene e dam:Asset a subconsulta resolve /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
    

    resulta no seguinte query e plano de query:

    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 via QueryBuilder Debugger e Plug-in do AEM Chrome.

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

    Uma novidade no AEM 6.3 é a capacidade de consultar vários caminhos na mesma consulta fornecida. A consulta do QueryBuilder a seguir. 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
    

    resulta no seguinte query e plano de query

    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 via QueryBuilder Debugger e Plug-in do AEM Chrome.

Nesta página