Warnhinweis „Abfrage ohne Index erkannt“ für einen benutzerdefinierten Oak-Index in Adobe Experience Manager as a Cloud Service

In diesem Artikel wird erläutert, wie Sie die Warnhinweise „Abfrage ohne Index erkannt“ in Adobe Experience Manager as a Cloud Service auflösen können, indem Sie benutzerdefinierte Oak-Indexdefinitionen validieren und aktualisieren, um sicherzustellen, dass Abfragen den beabsichtigten Index verwenden, anstatt auf einen Durchlauf zurückzugreifen.

Beschreibung description

Umgebung

Adobe Experience Manager as a Cloud Service (alle Versionen)

Problem/Symptome

  • Eine benutzerdefinierte SQL-2-Abfrage in AEM Trigger zeigt während der Bereitstellung eines neuen benutzerdefinierten Oak-Index einen Warnhinweis für eine Abfrage ohne Index.

  • Die Abfrage umfasst:

    • Knotentyp: cq:Page
    • Pfadbeschränkung unter einem bestimmten Inhaltspfad, z. B. /content/.../news
    • Filter: jcr:content/cq:tags
    • Sortieren: in absteigender Reihenfolge jcr:content/publishedDate
    • Explizites Index-Tag: customNewsLucene
  • Die Abfrage ähnelt:

select [ jcr:path] , [ jcr:score] , * from [ cq:Page]  as a
where [ jcr:content/cq:tags]  = '/news'
order by [ jcr:content/publishedDate]  desc
option(index tag [ customNewsLucene] )
  • Der Warnhinweis zeigt an, dass kein Oak/Lucene-Index sowohl die Eigenschaftsbeschränkungen als auch die in der Abfrage definierte Sortierreihenfolge erfüllen kann.
  • Daher greift Oak auf das Durchlaufen zurück, was sich negativ auf die Abfrageleistung auswirken kann.

Ursache

Der Warnhinweis „Abfrage ohne Index erkannt“ tritt auf, wenn die Filter- und Sortierbedingungen einer Abfrage von keinem verfügbaren Oak/Lucene-Index vollständig erfüllt werden. Dies kann vorkommen, wenn der benutzerdefinierte Index noch nicht bereitgestellt wurde, nicht vollständig verfügbar ist oder den Anforderungen der Abfrage nicht entspricht.

Lösung resolution

Gehen Sie wie folgt vor, um das Problem zu beheben:

  1. Öffnen Sie AEM as a Cloud Service Developer Console und verwenden Sie das Abfrageleistungs-Tool.

  2. Führen Sie die betroffene Abfrage aus oder wählen Sie Erläutern, um zu sehen, welcher Index ausgewählt ist.

  3. Wenn die Abfrage nicht den beabsichtigten benutzerdefinierten Index verwendet oder der Plan einen Durchlauf zeigt, überprüfen Sie die benutzerdefinierte Indexdefinition. Stellen Sie sicher, dass sie die Anforderungen der Abfrage unterstützt:

    • Knotentyp: cq:Page
    • Eigenschaftsbeschränkung: jcr:content/cq:tags
    • Sortierte Eigenschaft: jcr:content/publishedDate, für absteigende Sortierung
    • Pfadbeschränkung: Der relevante Inhaltspfad, z. B. /content/.../news
    • Index-Tag: customNewsLucene, das dem expliziten Index-Tag der Abfrage entspricht
  4. Stellen Sie die aktualisierte Indexdefinition über Cloud Manager bereit. Warten Sie, bis die Aktualisierung der Indizierung abgeschlossen ist, bevor Sie die Abfrage überprüfen.

  5. Verwenden Sie das Abfrageleistungs-Tool , um zu bestätigen, dass der Ausführungsplan den beabsichtigten benutzerdefinierten Index verwendet, die Abfrageeinschränkungen und -reihenfolgen verarbeitet und keinen Durchlauf anzeigt.

  6. Optional können Sie die Abfrage im Aktionscenter einige Tage lang überwachen, um zu überprüfen, ob neue Warnhinweise Abfrage ohne Index erkannt angezeigt werden.

  7. Validieren Sie sie bei zukünftigen Indexänderungen in einer niedrigeren Umgebung vor der Produktionsbereitstellung. Verwenden Sie die Funktion “” des Abfrageleistungs-Tools um die Indexauswahl zu bestätigen.

recommendation-more-help
experience-cloud-kcs-help-kbarticles