Fügen Sie includedPaths und queryPaths zu oak:QueryIndexDefinition node (z. B. /oak:index/customIndex) für alle benutzerdefinierten Indizes hinzu, um den Index einzuschränken. Das bewirkt, dass der Index nur Abfragen verarbeitet, die den Pfad /content/mysite - /jcr:root/content/mysite[@foo=1] enthalten. Die Eigenschaften includedPaths und queryPaths (String[]) hätten dann beide einen Wert /content/mysite.
Diese Seite enthält die bekannten Probleme, die zu einer ungewöhnlichen Ausführungszeit von Abfragen führen, sowie deren Lösung.
Wenn Sie Ihr Problem nicht in dieser Liste finden, leiten wir Sie auf die Dokumentationsseite „Fehlerbehebung bei langsamen Abfragen“ um, um weitere Untersuchungen durchzuführen.
Problem 1 - Langsamkeit aufgrund zu hoher Indexkosten
In bestimmten Umgebungen ist eine benutzerdefinierte JCR- oder QueryBuilder-Abfrage langsam, die einen benutzerdefinierten Lucene-Eigenschaftsindex (oak:QueryIndexDefinition) in einigen AEM-Umgebungen verwendet, in denen viel Inhalt vorhanden ist.
Umgebung
AEM 6.3, AEM 6.4
Ursache
Die vom Index zurückgegebenen Kosten für die Ausführung könnten jetzt so hoch sein (aufgrund des Inhaltsvolumens im System), dass stattdessen ein anderer Index für die Abfrage verwendet wird.
Lösung
Es ist wahrscheinlich, dass der falsche Index für die Abfrage verwendet wird. Das Erläutern der Abfrage-Tool (Tools => Operationen => Diagnose => Abfrageleistung => Erläutern der Abfrage) kann zum Debuggen verwendet werden.
-
-
Legen Sie entryCount (Lang) auf eine niedrige Zahl fest oder stimmen Sie die Eigenschaft costPerEntry (Doppelt) und costPerExecution (Doppelt) auf hier dokumentiert ab, um die Kostenschätzung an den benutzerdefinierten Index anzupassen.