AEM as a Cloud Service: Warnungen „Volltextabfrage ohne Filterindex“ bei der Suche nach unterschiedlichen Pfaden

In diesem Artikel werden die Ursache und die Auswirkungen häufiger Volltextabfragen ohne Filterindexr -Warnungen in Adobe Experience Manager beim Ausführen von Volltextabfragen über unzusammenhängende Unterstrukturen hinweg erläutert.

Beschreibung description

Umgebung

  • Adobe Experience Manager (AEM) as a Cloud Service (AEMasaCS) (alle Versionen)
  • Adobe Experience Manager

Problem/Symptome

Beim Ausführen von JCR-SQL2-Volltextabfragen, die über zwei oder mehr getrennte Unterstrukturen hinweg suchen, mithilfe eines OR zwischen ISDESCENDANTNODE() Pfadbeschränkungen wird die folgende Warnung in den Protokollen angezeigt, obwohl ein benutzerdefinierter Luceneindex definiert und getaggt ist:

WARN  org.apache.jackrabbit.oak.query.QueryImpl Fulltext query without index for filter ... no results will be returned
  • Die Warnung wird ca. 3000-mal pro Tag protokolliert.
  • Beispielabfrage mit Triggern für die Warnung:
SELECT *
FROM [ nt:base]  AS node
WHERE ...
  AND (
    isdescendantnode(node,'/content/site-path') OR
    isdescendantnode(node,'/var/pim/green/products')
  )
OPTION (index tag datevCommon)
  • Das Problem tritt nicht auf, wenn innerhalb einer einzelnen Unterstruktur gesucht wird.
  • Es werden keine Leistungseinbußen beobachtet. Protokollgeräusche sind jedoch ein Problem.
  • Die beiden abgefragten Pfade haben keinen gemeinsamen Vorgänger.

Ursache

Die Warnung wird während der anfänglichen Abfrageplanungsphase von Oak generiert, in der die kombinierte Abfrageform (Volltext + ODER über disjunkte Pfade hinweg) mit unendlichen Indexkosten ausgewertet wird, was die Warnung auslöst. Oak schreibt die Abfrage dann intern um und verwendet den benutzerdefinierten Index korrekt zur Ausführung. Die Warnung gilt als irreführend und spiegelt nicht die tatsächliche Indexnutzung oder die Abfrageleistung wider.

Lösung resolution

Führen Sie zur Behebung des Problems folgende Schritte aus:

  1. Überprüfen Sie das Abfragemuster, um sicherzustellen, dass es einen OR über disjunkte ISDESCENDANTNODE() und einen benutzerdefinierten Lucene-Index mit einem Index-Tag hinweg verwendet.
  2. Laufende Untersuchungen und Aktualisierungen sind in der UpstreamOAK-12270Apache Jackrabbit Oak-Anfrage verfügbar.
  3. Auf Kundenseite ist keine Aktion erforderlich, da die Warnung ein Ergebnis der internen Abfrageplanung von Oak ist und nicht auf ein echtes Indizierungs- oder Leistungsproblem hinweist.
  4. Überwachen Sie den Oak Jira auf zukünftige Änderungen in Bezug auf die Unterdrückung von Warnungen oder Protokollanpassungen.
recommendation-more-help
experience-cloud-kcs-help-kbarticles