Guia simples de implementação de pesquisa simple-search-implementation-guide
A implementação de pesquisa simples são os materiais do Laboratório de Adobe Summit AEM Pesquisa 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.
Materiais de apresentação bookmarks
Marcadores bookmarks-1
Ferramentas tools
Capítulos chapters
Os links de Capítulo abaixo pressupõem que os Pacotes Iniciais estejam 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.
-
Como interromper a reindexação?
A reindexação pode ser interrompida por meio do MBean IndexStats disponível via Console da Web AEM > JMX
-
- Execute
abortAndPause()
para anular a reindexação. Isso bloqueará o índice para reindexação até queresume()
seja chamado. - Executar
resume()
reiniciará o processo de indexação.
- Execute
-
Documentação: https://jackrabbit.apache.org/oak/docs/query/indexing.html#async-index-mbean
-
-
Como os índices do oak podem suportar vários locatários?
O Oak permite a inserção de índices por meio 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 é usar as propriedades
includePaths
equeryPaths
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 do AEM Publish 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 do caminho.
-
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.
-
Como pesquisar por Páginas e Assets na mesma consulta?
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, a subconsulta
cq:Page
é resolvida como/oak:index/cqPageLucene
e a subconsultadam:Asset
é resolvida como/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 por meio do QueryBuilder Debugger e do Plug-in AEM Chrome.
-
Como pesquisar vários caminhos na mesma consulta?
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 por meio do QueryBuilder Debugger e do Plug-in AEM Chrome.