Inkonsistente Abfrageergebnisse in der AEM Query Builder-API
In Adobe Experience Manager (AEM) liefert die Ausführung einer Abfrage mit der Query Builder-API inkonsistente Ergebnisse, wenn ein unbeabsichtigter Index verwendet wird. Zur Behebung geben Sie den gewünschten Index mithilfe eines index an tag in der Query Builder-API.
Beschreibung description
Umgebung
- Produkt: AEM Managed Services, Sites ,v6.5
- Instance: Produktion
Problem/Symptome
Die Abfrageergebnisse sind inkonsistent, wenn während der Ausführung der Abfrage ein unbeabsichtigter Index verwendet wird.
Auflösung resolution
Gehen Sie wie folgt vor, um dieses Problem zu beheben
-
Weisen Sie der benutzerdefinierten Indexdefinition in
/oak:index/<index>ein Tag zu, indem Sie dietagsEigenschaft mit einem benutzerdefinierten Wert angeben. -
Verwenden Sie den
p.indexTag-Parameter in der Abfrage der Query Builder-API. -
Fügen Sie
p.indexTag=<tagname>zur Abfrage hinzu, wobei<tagname>mit dem benutzerdefinierten Index-Tag übereinstimmt. -
Überprüfen Sie, ob die Abfrage den beabsichtigten benutzerdefinierten Index verwendet. Beispiel:
- Beispiel für eine benutzerdefinierte Indexdefinition (unter
/oak:index/fullTextSearch):jcr:mixinTypes="[ rep:AccessControllable] "async="[ async,nrt] "compatVersion="{Long}2"evaluatePathRestrictions="{Boolean}true"excludedPaths="[ /var,/etc/replication,/etc/workflow/instances,/jcr:system] "includedPaths="[ /content/mysite] "queryPaths="[ /content/mysite] "reindex="{Boolean}false"reindexCount="{Long}1"seed="{Long}-4788584413483415353"type="lucene"tags="[ customSearch] " - XPath-Abfrage mit einem bestimmten Index:
/jcr:root/content/data/element(*, cq:Page)[ (jcr:contains(., 'courses'))] option (index tag customSearch) - Entsprechende Query Builder API-Abfrage:
fulltext=coursestype=cq:Pagepath=/content/mysitep.limit=10p.indexTag=customSearch
- Beispiel für eine benutzerdefinierte Indexdefinition (unter
-
Führen Sie die aktualisierte Abfrage aus, um konsistente, genaue Ergebnisse mit dem angegebenen benutzerdefinierten Index (
customSearch) zu überprüfen.
Verwandte Lesarten
- Query Builder-Prädikatsreferenz im AEMaaCS-Benutzerhandbuch
- Verarbeitung der Abfrage-Engine in der Dokumentation zu Oak
- Best Practices für die in AEM