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 cqPageLucene invece dell’indice previsto come cqPageContent.
  • 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 includedPaths e queryPaths, 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:

  1. 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.
  2. 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.
  3. Esamina la configurazione del percorso nella definizione dell’indice.

    • Verificare che includedPaths includa il contenuto che l’indice deve contenere.
    • Confermare che queryPaths copre le restrizioni di percorso utilizzate dalla query.
    • Utilizzare valori corrispondenti per includedPaths e queryPaths quando l’indice deve contenere e servire query per lo stesso ambito di contenuto.
    • Nota: includedPaths controlla l’ambito del contenuto indicizzato, mentre queryPaths determina se l’indice è idoneo per una query con una restrizione di percorso corrispondente.
  4. 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, excludeSearch e hideFromExternalUser quando 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.
  5. 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.
  6. 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.
  7. 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 Event o un Email Index personalizzato, 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.

Lettura correlata

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