Guia simples de implementação de pesquisa simple-search-implementation-guide

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 bookmarks

Marcadores bookmarks-1

Ferramentas tools

Capítulos chapters

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

Pacotes packages

Pacotes iniciais initial-packages

Pacotes de capítulo chapter-packages

Materiais referenciados reference-materials

Correções e acompanhamento corrections-and-follow-up

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.

    code language-plain
    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:

    code language-plain
    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.

    code language-plain
    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

    code language-plain
    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.

recommendation-more-help
bb44cebf-d964-4e3c-b64e-ce882243fe4d