Show Menu
ARGOMENTI×

Ricerca e indicizzazione dei contenuti

Modifiche in AEM come servizio cloud

Con AEM come servizio cloud, Adobe si sta spostando da un modello incentrato sulle istanze di AEM a una vista basata sui servizi con contenitori AEM n-x, guidati dalle pipeline CI/CD in Cloud Manager. Anziché configurare e mantenere indici su singole istanze di AEM, è necessario specificare la configurazione dell'indice prima di procedere alla distribuzione. I cambiamenti di configurazione nella produzione stanno chiaramente infrangendo i criteri CI/CD. Lo stesso vale per le modifiche dell'indice, in quanto può influire sulla stabilità e sulle prestazioni del sistema se non specificato testato e reindicizzato prima di portarli in produzione.
Di seguito è riportato un elenco delle modifiche principali rispetto a AEM 6.5 e versioni precedenti:
  1. Gli utenti non avranno più accesso a Index Manager di una singola istanza di AEM per eseguire il debug, configurare o gestire l'indicizzazione. Viene utilizzato solo per lo sviluppo locale e le distribuzioni on-prem.
  2. Gli utenti non modificheranno gli indici su una singola istanza di AEM né dovranno più preoccuparsi dei controlli di coerenza o della reindicizzazione.
  3. In generale, le modifiche dell'indice sono iniziate prima dell'avvio della produzione per non eludere i gateway di qualità nelle pipeline CI/CD di Cloud Manager e non incidere sugli indicatori KPI aziendali nella produzione.
  4. Tutte le metriche correlate, comprese le prestazioni di ricerca in produzione, saranno disponibili per i clienti in fase di esecuzione al fine di fornire la visualizzazione olistica sugli argomenti di ricerca e indicizzazione.
  5. I clienti potranno impostare gli avvisi in base alle loro esigenze.
  6. Gli SRE stanno monitorando lo stato di salute del sistema 24 ore su 24, 7 giorni su 7 e adotteranno le misure necessarie e il più presto possibile.
  7. La configurazione dell'indice viene modificata tramite distribuzioni. Le modifiche alla definizione dell'indice sono configurate come altre modifiche al contenuto.
  8. Su AEM come servizio cloud, con l’introduzione del modello di distribuzione Blue-Green saranno disponibili due serie di indici: un set per la versione precedente (blu) e uno per la nuova versione (verde).
  1. I clienti possono vedere se il processo di indicizzazione è completo nella pagina di build di Cloud Manager e riceveranno una notifica quando la nuova versione sarà pronta per il traffico.
  2. Limitazioni: al momento, la gestione degli indici su AEM come servizio cloud è supportata solo per gli indici di tipo lucene.

Guida all’uso

La definizione degli indici può comprendere tre casi di utilizzo:
  1. Aggiunta di una nuova definizione di indice cliente
  2. Aggiornamento di una definizione di indice esistente. Ciò significa effettivamente aggiungere una nuova versione di una definizione di indice esistente
  3. Rimozione di un indice esistente ridondante o obsoleto.
Per entrambi i punti 1 e 2 di cui sopra, devi creare una nuova definizione di indice come parte della tua base di codice personalizzata nella rispettiva pianificazione delle versioni di Cloud Manager. Per ulteriori informazioni, consulta Distribuzione in AEM come documentazione del servizio cloud.

Preparazione della nuova definizione di indice

È necessario preparare un nuovo pacchetto di definizione dell'indice che contenga la definizione effettiva dell'indice, seguendo questo pattern di denominazione:
<indexName>[-<productVersion>]-custom-<customVersion>
che poi deve andare sotto ui.apps/src/main/content/jcr_root . Le cartelle sub-root non sono supportate al momento.
Il pacchetto del campione sopra riportato è costruito come com.adobe.granite:new-index-content:zip:1.0.0-SNAPSHOT .

Distribuzione delle definizioni degli indici

C'è un problema noto con Jackrabbit Filevault Maven Package Plugin versione 1.1.0 che non consente di aggiungere oak:index a moduli di <packageType>application</packageType> . Per risolvere il problema, utilizzate la versione 1.0.4 .
Le definizioni degli indici sono ora contrassegnate come personalizzate e con versione:
  • La definizione di indice stessa (ad esempio /oak:index/ntBaseLucene-custom-1 )
Pertanto, per distribuire un indice, la definizione ( /oak:index/definitionname ) dell'indice deve essere distribuita tramite ui.apps Git e il processo di distribuzione di Cloud Manager.
Una volta aggiunta la nuova definizione di indice, la nuova applicazione deve essere distribuita tramite Cloud Manager. All'avvio della distribuzione, vengono avviati due processi, responsabili dell'aggiunta (e dell'unione, se necessario) delle definizioni di indice a MongoDB e ad Azure Segment Store rispettivamente per l'autore e la pubblicazione. I repository sottostanti vengono reindicizzati con le nuove definizioni di indice, prima che venga eseguito il passaggio Blu-Verde.

Gestione dell'indice con le implementazioni Blue-Green

Che cos'è la gestione dell'indice

La gestione degli indici si occupa dell’aggiunta, della rimozione e della modifica degli indici. La modifica della definizione di un indice è rapida, ma l'applicazione della modifica (spesso denominata "creazione di un indice" o, per gli indici esistenti, "reindicizzazione") richiede tempo. Non è istantanea: per indicizzare i dati, è necessario eseguire la scansione del repository.

Che cos'è l'implementazione blu-verde

L'implementazione Blue-Green può ridurre i tempi di inattività. Consente inoltre di azzerare i tempi di inattività e offre ripristini rapidi. La versione precedente dell’applicazione (blu) viene eseguita contemporaneamente alla nuova versione dell’applicazione (verde).

Aree di sola lettura e di lettura/scrittura

Alcune aree del repository (parti di sola lettura del repository) possono essere diverse nella vecchia versione (blu) e nella nuova versione (verde) dell'applicazione. Le aree di sola lettura del repository sono in genere " /app " e " /libs ". Nell'esempio seguente, il corsivo viene utilizzato per contrassegnare le aree di sola lettura, mentre il grassetto viene utilizzato per le aree di lettura/scrittura.
  • /
  • /apps (sola lettura)
  • /content
  • /libs (sola lettura)
  • /oak:index
  • /oak:index/acme
  • /jcr:system
  • /system
  • /var
Le aree di lettura/scrittura dell'archivio sono condivise tra tutte le versioni dell'applicazione, mentre per ogni versione dell'applicazione è presente un set specifico di /apps e /libs .

Gestione degli indici senza implementazione blu-verde

Durante lo sviluppo o quando si utilizzano installazioni locali, gli indici possono essere aggiunti, rimossi o modificati in fase di esecuzione. Gli indici vengono utilizzati non appena sono disponibili. Se un indice non deve ancora essere utilizzato nella vecchia versione dell'applicazione, l'indice viene generalmente generato durante un periodo di inattività pianificato. Lo stesso si verifica quando si rimuove un indice o si modifica un indice esistente. Quando si rimuove un indice, questo diventa non disponibile non appena viene rimosso.

Gestione Dell'Indice Con Implementazione Blu-Verde

Con le installazioni blu-verde, non si verificano tempi di inattività. Tuttavia, per la gestione degli indici, ciò richiede che gli indici siano utilizzati solo da alcune versioni dell'applicazione. Ad esempio, quando si aggiunge un indice nella versione 2 dell'applicazione, non si desidera che venga ancora utilizzato dalla versione 1 dell'applicazione. Il contrario si verifica quando un indice viene rimosso: un indice rimosso nella versione 2 è ancora necessario nella versione 1. Quando si modifica una definizione di indice, si desidera che la vecchia versione dell'indice venga utilizzata solo per la versione 1 e che la nuova versione dell'indice venga utilizzata solo per la versione 2.
Nella tabella seguente sono riportate 5 definizioni di indice: index cqPageLucene è utilizzato in entrambe le versioni, mentre index damAssetLucene-custom-1 è utilizzato solo nella versione 2.
<indexName>-custom-<customerVersionNumber> è necessario che AEM come servizio cloud contrassegni questo tipo di sostituzione per un indice esistente.
Indice
Indice out-of-the-box
Usa nella versione 1
Usa nella versione 2
/oak:index/damAssetLucene
No
/oak:index/damAssetLucene-custom-1
Sì (personalizzato)
No
/oak:index/acmeProduct-custom-1
No
No
/oak:index/acmeProduct-custom-2
No
No
/oak:index/cqPageLucene
Il numero di versione viene incrementato ogni volta che l'indice viene modificato. Per evitare che i nomi di indice personalizzati si scontrino con i nomi di indice del prodotto stesso, è necessario terminare con gli indici personalizzati, così come apportare modifiche agli indici out-of-box -custom-<number> .

Modifiche agli indici forniti

Quando Adobe modifica un indice out-of-the-box come "damAssetLucene" o "cqPageLucene", viene creato un nuovo indice denominato damAssetLucene-2 o cqPageLucene-2 oppure, se l'indice è già stato personalizzato, la definizione dell'indice personalizzata viene unita alle modifiche nell'indice out-of-the-box, come mostrato di seguito. L'unione delle modifiche avviene automaticamente. Ciò significa che non è necessario eseguire alcuna operazione in caso di modifica di un indice out-of-the-box. Tuttavia, è possibile personalizzare nuovamente l'indice in un secondo momento.
Indice
Indice out-of-the-box
Usa nella versione 2
Usa nella versione 3
/oak:index/damAssetLucene-custom-1
Sì (personalizzato)
No
/oak:index/damAssetLucene-2-custom-1
Sì (unito automaticamente da damAssetLucene-custom-1 e damAssetLucene-2)
No
/oak:index/cqPageLucene
No
/oak:index/cqPageLucene-2
No

Limitazioni

Al momento la gestione degli indici è supportata solo per gli indici di tipo lucene .

Rimozione di un indice

Se un indice deve essere rimosso in una versione successiva dell'applicazione, è possibile definire un indice vuoto (un indice senza dati da indicizzare) con un nuovo nome. Ad esempio, potete denominarlo /oak:index/acmeProduct-custom-3 . Questo sostituisce l'indice /oak:index/acmeProduct-custom-2 . Una volta /oak:index/acmeProduct-custom-2 rimosso dal sistema, l'indice vuoto /oak:index/acmeProduct-custom-3 può essere rimosso.

Aggiunta di un indice

Per aggiungere un indice denominato "/oak:index/acmeProduct-custom-1" da utilizzare in una nuova versione dell’applicazione e successivamente, l’indice deve essere configurato come segue:
/oak:index/acmeProduct-custom-1
Come sopra, questo assicura che l'indice sia utilizzato solo dalla nuova versione dell'applicazione.

Modifica di un indice

Quando si modifica un indice esistente, è necessario aggiungere un nuovo indice con la nuova definizione di indice. Considerate ad esempio la modifica dell'indice esistente "/oak:index/acmeProduct-custom-1". Il vecchio indice è memorizzato in /oak:index/acmeProduct-custom-1 e il nuovo indice è memorizzato in /oak:index/acmeProduct-custom-2 .
La vecchia versione dell'applicazione utilizza la seguente configurazione:
/oak:index/acmeProduct-custom-1
La nuova versione dell'applicazione utilizza la seguente configurazione (modificata):
/oak:index/acmeProduct-custom-2