AEM as a Cloud Service: avvisi di query full-text senza indice per filtro durante la ricerca in percorsi disgiunti
Questo articolo spiega la causa e l’impatto della query full-text frequente senza indice per gli avvisi filtror in Adobe Experience Manager durante l’esecuzione di query full-text su sottostrutture disgiunte.
Descrizione description
Ambiente
- Adobe Experience Manager (AEM) as a Cloud Service (AEMasaCS) (tutte le versioni)
- Adobe Experience Manager
Problema/Sintomi
Quando si eseguono query JCR-SQL2 full-text che eseguono ricerche in due o più sottostrutture separate utilizzando un OR tra ISDESCENDANTNODE() restrizioni di percorso, nei registri viene visualizzato il seguente avviso, anche se è definito e contrassegnato un indice Lucene personalizzato:
WARN org.apache.jackrabbit.oak.query.QueryImpl Fulltext query without index for filter ... no results will be returned
- L’avviso viene registrato circa 3000 volte al giorno.
- Esempio di query che attiva l’avviso:
SELECT *
FROM [ nt:base] AS node
WHERE ...
AND (
isdescendantnode(node,'/content/site-path') OR
isdescendantnode(node,'/var/pim/green/products')
)
OPTION (index tag datevCommon)
- Il problema si verifica not durante la ricerca in un singolo sottoalbero.
- Non si osserva alcun impatto sulle prestazioni, ma il rumore del registro è un problema.
- I due percorsi interrogati non condividono un predecessore comune.
Causa
L’avviso viene generato durante la fase iniziale di pianificazione delle query di Oak, in cui la forma di query combinata (full-text + OR su percorsi disgiunti) viene valutata con costi di indice infiniti, attivando l’avviso. Oak quindi riscrive la query internamente e utilizza correttamente l’indice personalizzato per l’esecuzione. L’avviso è considerato fuorviante e non riflette l’utilizzo effettivo dell’indice o le prestazioni della query.
Risoluzione resolution
Per risolvere il problema, segui la procedura riportata di seguito:
- Esaminare il modello di query per confermare che utilizza un
ORtra le restrizioni di percorsoISDESCENDANTNODE()disgiunte e un indice Lucene personalizzato con un tag di indice. - Per informazioni e aggiornamenti continui, fai riferimento al problema Apache Jackrabbit Oak a monte
OAK-12270. - Non è richiesta alcuna azione da parte del cliente, in quanto l’avviso è il risultato della pianificazione interna delle query di Oak e non indica un reale problema di indicizzazione o prestazioni.
- Monitora la Jira di Oak per eventuali modifiche future relative alla soppressione degli avvisi o alle regolazioni della registrazione.