AEM as a Cloud Service: avisos de “Consulta de texto completo sem índice para filtro” ao pesquisar em caminhos separados

Este artigo explica a causa e o impacto de consultas frequentes de texto completo sem índice para avisos de filtro r no Adobe Experience Manager ao executar consultas de texto completo em subárvores separadas.

Descrição description

Ambiente

  • Adobe Experience Manager (AEM) as a Cloud Service (AEMasaCS) (todas as versões)
  • Adobe Experience Manager

Problema/Sintomas

Ao executar consultas JCR-SQL2 de texto completo que pesquisam em duas ou mais subárvores disjuntas usando um OR entre ISDESCENDANTNODE() restrições de caminho, o aviso a seguir aparece nos logs, mesmo que um índice Lucene personalizado esteja definido e marcado:

WARN  org.apache.jackrabbit.oak.query.QueryImpl Fulltext query without index for filter ... no results will be returned
  • O aviso é registrado aproximadamente 3000 vezes por dia.
  • Exemplo de consulta que aciona o aviso:
SELECT *
FROM [ nt:base]  AS node
WHERE ...
  AND (
    isdescendantnode(node,'/content/site-path') OR
    isdescendantnode(node,'/var/pim/green/products')
  )
OPTION (index tag datevCommon)
  • O problema não ocorre ao pesquisar em uma única subárvore.
  • O impacto no desempenho não é observado, mas o ruído de registro é uma preocupação.
  • Os dois caminhos consultados não compartilham um ancestral comum.

Causa

O aviso é gerado durante a fase inicial de planejamento de consulta do Oak, em que a forma de consulta combinada (texto completo + OU em caminhos separados) é avaliada com custos de índice infinitos, acionando o aviso. Em seguida, o Oak reescreve a consulta internamente e usa corretamente o índice personalizado para execução. O aviso é considerado enganoso e não reflete o uso real do índice ou o desempenho da consulta.

Resolução resolution

Siga estas etapas para resolver o problema:

  1. Revise o padrão de consulta para confirmar se ele usa um OR entre restrições de caminho ISDESCENDANTNODE() disjuntas e um índice Lucene personalizado com uma marca de índice.
  2. Consulte o problema upstream do Apache Jackrabbit Oak OAK-12270 para investigação e atualizações em andamento.
  3. Nenhuma ação é necessária por parte do cliente, pois o aviso é resultado do planejamento interno de consultas da Oak e não indica um problema real de indexação ou desempenho.
  4. Monitore o Oak Jira para quaisquer alterações futuras relacionadas à supressão de aviso ou ajustes de registro.
recommendation-more-help
experience-cloud-kcs-help-kbarticles