Configurazione degli indici
Se la reindicizzazione è necessaria in archivi di grandi dimensioni, specialmente quando si utilizza MongoDB e per gli indici full-text, considera la pre-estrazione del testo e l’utilizzo di oak-run per creare l’indice iniziale e reindicizzare.
Gli indici sono configurati come nodi nell'archivio nel nodo Oak:index.
Il tipo del nodo indice deve essere oak:QueryIndexDefinition. Per ogni indicizzatore sono disponibili diverse opzioni di configurazione come proprietà del nodo. Per ulteriori informazioni, consulta i dettagli di configurazione per ogni tipo di indicizzatore riportati di seguito.
Indice proprietà
L'indice delle proprietà è utile per le query che hanno vincoli di proprietà ma non sono full-text. Può essere configurato seguendo la procedura seguente:
-
Apri CRXDE andando su
http://localhost:4502/crx/de/index.jsp
-
Crea un nodo in oak:index
-
Denomina il nodo PropertyIndex e imposta il tipo di nodo su oak:QueryIndexDefinition
-
Imposta le seguenti proprietà per il nuovo nodo:
- tipo:
property
(di tipo Stringa) - propertyNames:
jcr:uuid
(di tipo Name)
In questo esempio particolare viene indicizzata la proprietà
jcr:uuid
, il cui processo consiste nell'esporre l'identificatore univoco universale (UUID) del nodo a cui è associata. - tipo:
-
Salva le modifiche.
L’indice delle proprietà dispone delle seguenti opzioni di configurazione:
-
La proprietà type specifica il tipo di indice e in questo caso deve essere impostata su property
-
La proprietà propertyNames indica l'elenco delle proprietà memorizzate nell'indice. Se manca, il nome del nodo viene utilizzato come valore di riferimento del nome di proprietà. In questo esempio, la proprietà jcr:uuid il cui processo consiste nell'esporre l'identificatore univoco (UUID) del relativo nodo viene aggiunta all'indice.
-
Il flag unique che, se impostato su true, aggiunge un vincolo di univocità nell'indice della proprietà.
-
La proprietà DeclaringNodeTypes consente di specificare un determinato tipo di nodo a cui si applica solo l'indice.
-
Il flag reindex che, se impostato su true, attiva una reindicizzazione del contenuto completo.
Indice ordinato
L'indice Ordinato è un'estensione dell'indice Proprietà. Tuttavia, è stato dichiarato obsoleto. Gli indici di questo tipo devono essere sostituiti con Indice proprietà Lucene.
Indice full-text Lucene
Un indicizzatore full-text basato su Apache Lucene è disponibile in AEM 6.
Se è configurato un indice full-text, tutte le query con una condizione full-text utilizzano l'indice full-text, indipendentemente dall'esistenza di altre condizioni indicizzate e da eventuali restrizioni di percorso.
Se non è configurato alcun indice full-text, le query con condizioni full-text non funzionano come previsto.
Poiché l’indice viene aggiornato tramite un thread in background asincrono, alcune ricerche full-text non sono disponibili per una piccola finestra di tempo fino al completamento dei processi in background.
Per configurare un indice full-text Lucene, attenersi alla procedura descritta di seguito.
-
Apri CRXDE e crea un nodo in oak:index.
-
Denomina il nodo LuceneIndex e imposta il tipo di nodo su oak:QueryIndexDefinition
-
Aggiungi le seguenti proprietà al nodo:
- tipo:
lucene
(di tipo Stringa) - asincrono:
async
(di tipo String)
- tipo:
-
Salva le modifiche.
L’indice Lucene dispone delle seguenti opzioni di configurazione:
- La proprietà type che specifica il tipo di indice deve essere impostata su lucene
- La proprietà async che deve essere impostata su async. In questo modo il processo di aggiornamento dell’indice viene inviato a un thread in background.
- La proprietà includePropertyTypes, che definisce il sottoinsieme dei tipi di proprietà inclusi nell'indice.
- La proprietà excludePropertyNames che definisce un elenco di nomi di proprietà, ovvero proprietà da escludere dall'indice.
- Il flag reindex che, se impostato su true, attiva una reindicizzazione del contenuto completo.