AEM as a Cloud Service : avertissements « Requête en texte intégral sans index de filtrage » lors de la recherche sur des chemins disjoints

Cet article explique la cause et l’impact des requêtes en texte intégral fréquentes sans index pour les avertissements de filtrer dans Adobe Experience Manager lors de l’exécution de requêtes en texte intégral dans des sous-arborescences disjointes.

Description description

Environnement

  • Adobe Experience Manager (AEM) as a Cloud Service (AEMasaCS) (toutes les versions)
  • Adobe Experience Manager

Problème/Symptômes

Lors de l’exécution de requêtes JCR-SQL2 en texte intégral qui effectuent une recherche dans plusieurs sous-arborescences disjointes à l’aide d’une OR entre ISDESCENDANTNODE() restrictions de chemin d’accès, l’avertissement suivant s’affiche dans les journaux, même si un index Lucene personnalisé est défini et balisé :

WARN  org.apache.jackrabbit.oak.query.QueryImpl Fulltext query without index for filter ... no results will be returned
  • L’avertissement est enregistré environ 3 000 fois par jour.
  • Exemple de requête déclenchant l’avertissement :
SELECT *
FROM [ nt:base]  AS node
WHERE ...
  AND (
    isdescendantnode(node,'/content/site-path') OR
    isdescendantnode(node,'/var/pim/green/products')
  )
OPTION (index tag datevCommon)
  • Le problème ne se produit pas lors de la recherche dans une seule sous-arborescence.
  • Aucun impact sur les performances n’est observé, mais le bruit des logs est un problème.
  • Les deux chemins d’accès interrogés ne partagent pas un ancêtre commun.

Cause

L’avertissement est généré lors de la phase de planification initiale de la requête d’Oak, où la forme de requête combinée (texte intégral + OU sur des chemins disjoints) est évaluée avec des coûts d’index infinis, ce qui déclenche l’avertissement. Oak réécrit ensuite la requête en interne et utilise correctement l’index personnalisé pour l’exécution. L’avertissement est considéré comme trompeur et ne reflète pas l’utilisation réelle de l’index ou les performances des requêtes.

Résolution resolution

Pour résoudre ce problème, procédez comme suit :

  1. Examinez le modèle de requête pour confirmer qu’il utilise une OR sur les restrictions de chemin d’accès aux ISDESCENDANTNODE() disjointes et un index Lucene personnalisé avec une balise d’index.
  2. Pour obtenir des informations et des mises à jour en coursOAK-12270 consultez le problème Apache Jackrabbit Oak en amont .
  3. Aucune action n’est requise de la part du client, car l’avertissement résulte de la planification des requêtes internes d’Oak et n’indique pas de réel problème d’indexation ou de performances.
  4. Surveillez toute modification ultérieure apportée à Oak Jira en ce qui concerne la suppression des avertissements ou les ajustements de journalisation.
recommendation-more-help
experience-cloud-kcs-help-kbarticles