Avviso “Query Without Index Detected” (Query senza indice rilevato) per un indice Oak personalizzato in Adobe Experience Manager as a Cloud Service

Questo articolo spiega come risolvere gli avvisi “Query senza indice rilevato” in Adobe Experience Manager as a Cloud Service convalidando e aggiornando le definizioni di indice Oak personalizzate per garantire che le query utilizzino l’indice previsto invece di ricorrere all’attraversamento.

Descrizione description

Ambiente

Adobe Experience Manager as a Cloud Service (tutte le versioni)

Problema/Sintomi

  • Una query SQL-2 personalizzata in AEM attiva un avviso Query Without Index Detected durante la distribuzione di un nuovo indice Oak personalizzato.

  • La query include:

    • Tipo di nodo: cq:Page
    • Limitazione del percorso in un percorso di contenuto specifico, ad esempio /content/.../news
    • Filtro: jcr:content/cq:tags
    • Ordinamento: jcr:content/publishedDate in ordine decrescente
    • Tag indice esplicito: customNewsLucene
  • La query è simile alla seguente:

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] )
  • L’avviso indica che nessun indice Oak/Lucene può soddisfare le restrizioni di proprietà e l’ordinamento definiti nella query.
  • Di conseguenza, Oak torna all’attraversamento, il che può influire negativamente sulle prestazioni delle query.

Causa

L’avviso “Query senza indice rilevato” si verifica quando le condizioni di filtro e ordinamento di una query non sono completamente soddisfatte da alcun indice Oak/Lucene disponibile. Ciò può verificarsi se l’indice personalizzato non è ancora distribuito, non è completamente disponibile o non soddisfa i requisiti della query.

Risoluzione resolution

Per risolvere il problema, segui i passaggi seguenti:

  1. Apri AEM as a Cloud Service Developer Console e utilizza Query Performance Tool.

  2. Esegui la query interessata o seleziona Spiega per vedere quale indice è selezionato.

  3. Se la query non utilizza l’indice personalizzato previsto o il piano mostra l’attraversamento, rivedi la definizione dell’indice personalizzato. Assicurati che supporti i requisiti della query:

    • Tipo di nodo: cq:Page
    • Restrizione proprietà: jcr:content/cq:tags
    • Proprietà ordinata: jcr:content/publishedDate, per ordinamento decrescente
    • Limitazione percorso: il percorso del contenuto rilevante, ad esempio /content/.../news
    • Tag indice: customNewsLucene, corrispondente al tag indice esplicito della query
  4. Distribuisci la definizione dell’indice aggiornata tramite Cloud Manager. Attendi il completamento dell’aggiornamento dell’indicizzazione prima di verificare la query.

  5. Utilizzare lo strumento Prestazioni query per verificare che il piano di esecuzione utilizzi l’indice personalizzato previsto, gestisca le restrizioni e l’ordinamento delle query e non mostri l’attraversamento.

  6. Se necessario, monitorare la query nel Centro azioni per alcuni giorni per verificare se vengono visualizzati nuovi avvisi Query senza indice.

  7. Per le future modifiche dell’indice, convalidale in un ambiente inferiore prima della distribuzione nell’ambiente di produzione. Utilizza la funzionalità Spiega dello strumento Prestazioni query per confermare la selezione dell’indice.

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