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/publishedDatein ordine decrescente - Tag indice esplicito:
customNewsLucene
- Tipo di nodo:
-
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:
-
Apri AEM as a Cloud Service Developer Console e utilizza Query Performance Tool.
-
Esegui la query interessata o seleziona Spiega per vedere quale indice è selezionato.
-
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
- Tipo di nodo:
-
Distribuisci la definizione dell’indice aggiornata tramite Cloud Manager. Attendi il completamento dell’aggiornamento dell’indicizzazione prima di verificare la query.
-
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.
-
Se necessario, monitorare la query nel Centro azioni per alcuni giorni per verificare se vengono visualizzati nuovi avvisi Query senza indice.
-
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.