L’indice gestito dalla SIM non è selezionato per le query in AEM as a Cloud Service
In Adobe Experience Manager as a Cloud Service, è possibile distribuire correttamente una definizione di Gestione semplificata degli indici (SIM) mentre le query continuano a utilizzare un indice precedente. Query Planner valuta gli indici idonei in base alle limitazioni delle query, alle proprietà indicizzate e al costo stimato. Per risolvere il problema, verificare la distribuzione e il piano di query, allineare includedPaths, queryPaths e le regole di indice ai requisiti della query, distribuire le modifiche tramite Cloud Manager e convalidare le query al termine dell’indicizzazione.
Descrizione description
Ambiente
Adobe Experience Manager as a Cloud Service con gestione semplificata degli indici
Problema/Sintomi
Dopo aver distribuito una definizione di Gestione semplificata degli indici, le query continuano a utilizzare un indice precedente invece dell’indice gestito dalla SIM previsto.
- Le query continuano a utilizzare un indice precedente come
cqPageLuceneinvece dell’indice previsto comecqPageContent. - L’indice gestito dalla SIM viene visualizzato nel repository, ma lo strumento Prestazioni query non lo seleziona per le query pertinenti.
- La definizione dell’indice contiene
includedPathsequeryPaths, ma la query utilizza ancora l’indice precedente. - Le proprietà di query richieste non sono incluse nelle regole di indice gestite dalla SIM.
- Nei registri non viene visualizzato alcun messaggio di errore specifico.
Causa
Query Planner seleziona l’indice idoneo con il costo stimato più basso. Se l’indice gestito dalla SIM non copre il percorso della query o le proprietà richieste oppure il costo stimato è superiore all’indice precedente, la query continua a utilizzare l’indice precedente.
Risoluzione resolution
Per risolvere i problemi relativi alla selezione dell’indice, effettua le seguenti operazioni:
-
Eseguire la query interessata nello Strumento Prestazioni querye rivedere l’output di Spiega query.
- Conferma quale indice utilizza la query.
- Confermare se l’indice gestito dalla SIM previsto viene considerato dal piano di query.
- Registra il piano di query e i costi stimati per il confronto dopo aver aggiornato la definizione dell’indice.
-
Verificare che la definizione della SIM sia distribuita correttamente.
- Verifica che la definizione della SIM sia inclusa nel codebase del progetto.
- Verificare che la pipeline Cloud Manager sia stata completata correttamente.
- Utilizzare Browser dell’archivio per verificare che la definizione dell’indice generato, ad esempio
/oak:index/<sim-index-name>, esista con la configurazione prevista.
-
Esamina la configurazione del percorso nella definizione dell’indice.
- Verificare che
includedPathsincluda il contenuto che l’indice deve contenere. - Confermare che
queryPathscopre le restrizioni di percorso utilizzate dalla query. - Utilizzare valori corrispondenti per
includedPathsequeryPathsquando l’indice deve contenere e servire query per lo stesso ambito di contenuto. - Nota:
includedPathscontrolla l’ambito del contenuto indicizzato, mentrequeryPathsdetermina se l’indice è idoneo per una query con una restrizione di percorso corrispondente.
- Verificare che
-
Rivedi le regole e le proprietà dell’indice richieste dalla query.
- Conferma che ogni proprietà utilizzata dalla query sia indicizzata nella regola di indice appropriata.
- Controllare proprietà quali
jcr:content/cq:lastModified,excludeSearchehideFromExternalUserquando vengono utilizzate dalla query. - Se manca una proprietà obbligatoria, aggiungere la regola di indice appropriata alla definizione della SIM e ridistribuirla tramite la pipeline Cloud Manager.
-
Distribuisci la definizione dell’indice aggiornato tramite la pipeline Cloud Managerstandard.
- Crea un pacchetto della definizione dell’indice aggiornato come parte della base di codice del progetto.
- Esegui la pipeline e consenti il completamento della build dell’indice o del processo di reindicizzazione.
- Controlla lo stato di indicizzazione nella pagina di build di Cloud Manager prima di convalidare nuovamente la query.
-
Convalida il comportamento della query al termine dell’indicizzazione.
- Eseguire nuovamente la query interessata nello Strumento Prestazioni query.
- Verificare che l’indice gestito dalla SIM sia selezionato nell’output di Explain Query.
- Esegui il test di un set rappresentativo di query ad alto impatto.
- Confronta i risultati e la classificazione prima e dopo la migrazione, in particolare per le query con campi migliorati come titolo, descrizione e contenuto.
- Utilizza Strumento Prestazioni query per verificare la presenza di regressioni delle prestazioni.
-
Dopo aver convalidato il nuovo indice gestito dalla SIM, rimuovi le definizioni obsolete dal codebase del progetto.
- Non eliminare manualmente i nodi indice dall’archivio.
- Nota: le versioni precedenti e nuove dell’indice possono coesistere temporaneamente durante una distribuzione continua mentre AEM as a Cloud Service prepara la nuova versione.
Note:
- La SIM è consigliata per gli indici Pagina, DAM e Audit. La migrazione non è obbligatoria quando un indice esistente soddisfa i tuoi requisiti e rimane supportato.
- Per gli indici senza percorsi di query personalizzati, ad esempio
Audit Evento unEmail Indexpersonalizzato, includerli nella configurazione di migrazione solo quando si intende migrare le query alla SIM. - Eseguire la migrazione degli indici personalizzati alla SIM quando sono necessari il supporto continuo e la compatibilità futura.