Casi d'uso dell'indicizzazione Oak-run.jar oak-run-jar-indexing-use-cases

CAUTION
AEM 6.4 ha raggiunto la fine del supporto esteso e questa documentazione non viene più aggiornata. Per maggiori dettagli, consulta la nostra periodi di assistenza tecnica. Trova le versioni supportate qui.

Oak-run supporta i casi di utilizzo dell’indicizzazione sulla riga di comando senza dover orchestrare l’esecuzione di questi casi d’uso tramite AEM console JMX.

I vantaggi principali dell'utilizzo dell'approccio del comando oak-run.jar index per la gestione degli indici Oak sono i seguenti:

  1. Il comando Oak-run index fornisce un nuovo set di strumenti di indicizzazione per AEM 6.4.
  2. Oak-run diminuisce il time-to-reindex che riduce i tempi di reindicizzazione su archivi più grandi.
  3. Oak-run riduce il consumo di risorse durante la reindicizzazione in AEM, ottenendo prestazioni del sistema complessivamente migliori.
  4. Oak-run fornisce reindicizzazione fuori banda, situazioni di supporto in cui la produzione deve essere disponibile e non può tollerare manutenzione o tempi di inattività altrimenti necessari per reindicizzare.

Le sezioni seguenti forniscono comandi di esempio. Il comando oak-run index supporta tutte le impostazioni NodeStore e BlobStore. Gli esempi forniti di seguito sono intorno alle configurazioni con FileDataStore e SegmentNodeStore.

Caso d’uso 1 - Controllo di coerenza dell’indice usercase1indexconsistencycheck

Questo è un caso d'uso relativo alla corruzione dell'indice. In alcuni casi non è stato possibile determinare quale degli indici è corrotto. Pertanto, l’Adobe ha fornito strumenti che:

  1. Esegue controlli di coerenza dell'indice su tutti gli indici e fornisce un rapporto in cui gli indici sono validi e non sono validi;
  2. La lavorazione è utilizzabile anche se AEM non è accessibile;
  3. È facile da usare.

La verifica degli indici corrotti può essere eseguita tramite --index-consistency-check funzionamento:

java -jar oak-run*.jar index --fds-path=/path/to/datastore  /path/to/segmentstore/ --index-consistency-check

Verrà generato un rapporto in indexing-result/index-consistency-check-report.txt. Di seguito è riportato un esempio di rapporto:

Valid indexes :
        - /content/oak:index/enablementResourceName
        - /oak:index/cqProjectLucene
        - /oak:index/cqTagLucene
        - /oak:index/lucene
        - /oak:index/ntBaseLucene
        - /oak:index/socialLucene
    Invalid indexes :
        - /oak:index/atDamIndex
        - /oak:index/atIndex
        - /oak:index/cqPageLucene
        - /oak:index/damAssetLucene
        - /oak:index/groups
        - /oak:index/slingeventJob
        - /oak:index/users
        - /oak:index/workflowDataLucene
    Ignored indexes as these are not of type lucene:
        - /oak:index/acPrincipalName
        - /oak:index/active

Vantaggi uc1benefits

Il supporto e l'amministratore di sistema possono ora utilizzare questo strumento per determinare rapidamente quali indici sono corrotti e quindi reindicizzarli.

Caso d'uso 2 - Statistiche dell'indice usecase2indexstatistics

Per diagnosticare alcuni dei casi relativi all'Adobe delle prestazioni della query spesso richiedeva la definizione di indice esistente, le statistiche relative all'indice dalla configurazione del cliente. Finora queste informazioni sono state sparse tra più risorse. Per semplificare la risoluzione dei problemi, Adobe ha creato strumenti che consentono di:

  1. Eseguire il dump di tutta la definizione dell'indice presente sul sistema in un unico file JSON;

  2. elaborare statistiche importanti dagli indici esistenti;

  3. Contenuto dell'indice di dump per l'analisi offline;

  4. Sarà utilizzabile anche se AEM non è accessibile

Le operazioni di cui sopra possono ora essere eseguite tramite i seguenti comandi dell'indice delle operazioni:

  • --index-info - Raccoglie e scarica varie statistiche relative agli indici

  • --index-definitions - Raccoglie e scarica le definizioni degli indici

  • --index-dump - Contenuto dell'indice dei dump

Di seguito è riportato un esempio di funzionamento pratico dei comandi:

java -jar oak-run*.jar index --fds-path=/path/to/datastore  /path/to/segmentstore/ --index-info --index-definitions --index-dump

I rapporti vengono generati in indexing-result/index-info.txt e indexing-result/index-definitions.json

Inoltre, gli stessi dettagli vengono forniti tramite la console Web e faranno parte dello zip di dump della configurazione. È possibile accedervi nel seguente percorso:

https://serverhost:serverport/system/console/status-oak-index-defn

Vantaggi uc2benefits

Questo strumento consente di raccogliere rapidamente tutti i dettagli richiesti relativi all’indicizzazione o ai problemi di query e di ridurre il tempo impiegato per l’estrazione di tali informazioni.

Caso d'uso 3 - Reindicizzazione usecase3reindexing

A seconda del scenari, in alcuni casi è necessario eseguire la reindicizzazione. Attualmente la reindicizzazione viene effettuata impostando il reindex flag to true nel nodo di definizione dell'indice tramite CRXDE o tramite l'interfaccia utente di Index Manager. Una volta impostato il flag, la reindicizzazione viene eseguita in modo asincrono.

Alcuni punti da notare sulla reindicizzazione:

  • La reindicizzazione è molto più lenta su DocumentNodeStore impostazioni rispetto a SegmentNodeStore configurazioni in cui tutti i contenuti sono locali;

  • Con la progettazione corrente, mentre la reindicizzazione avviene l'indicizzatore asincrono è bloccato e tutti gli altri indici asincroni diventano obsoleti e non ricevono aggiornamenti per la durata dell'indicizzazione. Per questo motivo, se il sistema è in uso, gli utenti potrebbero non vedere i risultati aggiornati;

  • La reindicizzazione comporta l'attraversamento dell'intero archivio che può caricare un elevato carico sulla configurazione AEM e quindi influire sull'esperienza dell'utente finale;

  • Per DocumentNodeStore installazione in cui la reindicizzazione potrebbe richiedere molto tempo, se la connessione al database Mongo non riesce nel mezzo dell'operazione, l'indicizzazione dovrebbe essere riavviata da zero;

  • In alcuni casi la reindicizzazione può richiedere molto tempo a causa dell’estrazione del testo. Questo è specifico principalmente per le configurazioni con molti file PDF, dove il tempo trascorso sull’estrazione del testo può influire sul tempo di indicizzazione.

Per raggiungere questi obiettivi, gli strumenti dell'indice oak-run supportano diverse modalità di reindicizzazione che possono essere utilizzate come richiesto. Il comando oak-run index fornisce i seguenti vantaggi:

  • reindicizzazione fuori banda - la reindicizzazione oak-run può essere effettuata separatamente da una configurazione AEM in esecuzione e quindi riduce al minimo l'impatto sull'istanza AEM in uso;

  • reindicizzazione fuori corsia - La reindicizzazione avviene senza influire sulle operazioni di indicizzazione. Ciò significa che l'indicizzatore asincrono può continuare ad indicizzare altri indici;

  • Reindicizzazione semplificata per le installazioni di DocumentNodeStore - Per DocumentNodeStore installazioni, reindicizzazione può essere effettuata con un unico comando che assicura che la reindicizzazione sia effettuata nel modo più ottimale;

  • Supporta l'aggiornamento delle definizioni degli indici e l'introduzione di nuove definizioni degli indici

Reindex - DocumentNodeStore reindexdocumentnodestore

Per DocumentNodeStore le installazioni di reindicizzazione possono essere effettuate tramite un singolo comando oak-run:

java -jar oak-run*.jar index --reindex --index-paths=/oak:index/lucene --read-write --fds-path=/path/to/datastore mongodb://server:port/aem

Ciò offre i seguenti vantaggi

  • Impatto minimo sull’esecuzione delle istanze AEM. La maggior parte delle letture può essere effettuata da server secondari e l'esecuzione di cache AEM non è compromessa a causa di tutti gli attraversamenti necessari per la reindicizzazione;
  • Gli utenti possono anche fornire un JSON di un indice nuovo o aggiornato tramite --index-definitions-file opzione .

Reindicizzazione - SegmentNodeStore reindexsegmentnodestore

Per SegmentNodeStore le installazioni di reindicizzazione possono essere eseguite in uno dei seguenti modi:

Reindicizzazione online - SegmentNodeStore onlinereindexsegmentnodestore

Seguire il modo stabilito in cui viene fatta la reindicizzazione tramite l'impostazione reindex bandiera.

Reindicizzazione online - SegmentNodeStore - L'istanza AEM è in esecuzione onlinereindexsegmentnodestoretheaeminstanceisrunning

Per SegmentNodeStore installa un solo processo che può accedere ai file dei segmenti in modalità di lettura-scrittura. A causa di questo alcune operazioni nell'indicizzazione oak-run richiedono ulteriori passaggi manuali.

Ciò implica quanto segue:

  1. Testo del passaggio

  2. Collega oak-run allo stesso archivio utilizzato da AEM in modalità di sola lettura ed esegui l'indicizzazione. Un esempio su come ottenere questo risultato:

    code language-shell
    java -jar oak-run-1.7.6.jar index --fds-path=/Users/dhasler/dev/cq/quickstart/target/crx-quickstart/repository/datastore/ --checkpoint 26b7da38-a699-45b2-82fb-73aa2f9af0e2 --reindex --index-paths=/oak:index/lucene /Users/dhasler/dev/cq/quickstart/target/crx-quickstart/repository/segmentstore/
    
  3. Infine, importa i file di indice creati tramite il IndexerMBean#importIndex dal percorso in cui oak-run ha salvato i file di indicizzazione dopo aver eseguito il comando precedente.

In questo scenario non è necessario arrestare il server AEM o eseguire il provisioning di una nuova istanza. Tuttavia, poiché l’indicizzazione comporta l’attraversamento dell’intero archivio, aumenterebbe il carico di I/O sull’installazione, influendo negativamente sulle prestazioni di runtime.

Reindicizzazione online - SegmentNodeStore - L'istanza AEM è chiusa onlinereindexsegmentnodestoreaeminstanceisdown

Per SegmentNodeStore le installazioni di reindicizzazione possono essere effettuate tramite un singolo comando oak-run. Tuttavia, l'istanza AEM deve essere chiusa.

Puoi attivare la reindicizzazione con il seguente comando:

java -jar oak-run*.jar index --reindex --index-paths=/oak:index/lucene --read-write --fds-path=/path/to/datastore  /path/to/segmentstore/

La differenza tra questo approccio e quello illustrato sopra è che la creazione di punti di controllo e l'importazione di indici vengono eseguite automaticamente. Il rovescio della medaglia è che AEM essere fuori servizio durante il processo.

Reindice fuori banda - SegmentNodeStore outofbandreindexsegmentnodestore

In questo caso d’uso, puoi eseguire la reindicizzazione su una configurazione clonata per ridurre al minimo l’impatto sull’istanza AEM in esecuzione:

  1. Crea un checkpoint tramite un’operazione JMX. Per farlo, vai al Console JMX e cerca CheckpointManager. Quindi, fai clic sul pulsante createCheckpoint(long p1) utilizzo di un valore elevato per la scadenza in secondi (ad esempio, 2592000).

  2. Copia il crx-quickstart cartella in un nuovo computer

  3. Esegui reindicizzazione tramite il comando oak-run index

  4. Copia i file di indice generati AEM server

  5. Importa i file di indice tramite JMX.

In questo caso d’uso, si presume che l’archivio dati sia accessibile in un’altra istanza che potrebbe non essere possibile se FileDataStore è posizionato su una soluzione di storage basata su cloud come EBS. Questo esclude lo scenario in cui FileDataStore è anche clonato. Se la definizione dell'indice non esegue l'indicizzazione full-text, accedi a DataStore non è obbligatorio.

Caso d'uso 4 - Aggiornamento delle definizioni degli indici usecase4updatingindexdefinitions

Attualmente, puoi inviare le modifiche alla definizione dell'indice tramite ACS Assicurare l'indice pacchetto. Questo consente la spedizione delle definizioni dell'indice tramite il pacchetto di contenuti che successivamente richiede la reindicizzazione tramite l'impostazione del reindex flag to true.

Questo funziona bene per installazioni più piccole in cui la reindicizzazione non richiede molto tempo. Tuttavia, per archivi molto grandi, la reindicizzazione sarà fatta in un periodo di tempo molto più ampio. Per questi casi ora possiamo utilizzare gli strumenti dell'indice oak-run.

Oak-run ora supporta la fornitura di definizioni di indice in formato JSON e la creazione di indici in modalità fuori banda in cui non vengono eseguite modifiche su un'istanza live.

Il processo da considerare per questo caso d’uso è il seguente:

  1. Uno sviluppatore aggiorna le definizioni dell’indice su un’istanza locale e quindi genera un file JSON di definizione dell’indice tramite il --index-definitions opzione

  2. Il JSON aggiornato viene quindi consegnato all’amministratore di sistema

  3. L'amministratore di sistema segue l'approccio fuori banda e prepara l'indice in un'installazione diversa

  4. Una volta completato, i file di indice generati verranno importati in un'installazione AEM in esecuzione.

recommendation-more-help
6a71a83d-c2e0-4ce7-a6aa-899aa3885b56