L’implementazione della ricerca semplice è costituita dai materiali provenienti Adobe Summit lab Ricerca AEM Demistificato. Questa pagina contiene i materiali di questo laboratorio. Per una visita guidata del laboratorio, visualizzare la cartella di lavoro del laboratorio nella sezione Presentazione di questa pagina.
I collegamenti del capitolo riportati di seguito presuppongono Pacchetti iniziali sono installati in AEM Author all’indirizzohttp://localhost:4502
Correzioni e chiarimenti delle discussioni di laboratorio e risposte alle domande di follow-up dei partecipanti.
Come interrompere la reindicizzazione?
La reindicizzazione può essere interrotta tramite la voce MBean IndexStats disponibile tramite Console web AEM > JMX
abortAndPause()
per interrompere la reindicizzazione. L’indice verrà bloccato per un’ulteriore reindicizzazione fino al resume()
viene richiamato.resume()
riavvia il processo di indicizzazione.In che modo gli indici OAK supportano più tenant?
Oak supporta il posizionamento di indici all’interno della struttura del contenuto e questi indici indicizzeranno solo all’interno di tale sottostruttura. Ad esempio /content/site-a/oak:index/cqPageLucene
può essere creato per indicizzare il contenuto solo in /content/site-a
.
Un approccio equivalente consiste nell'utilizzare includePaths
e queryPaths
proprietà in un indice in /oak:index
. Ad esempio:
/oak:index/siteAcqPageLucene@includePaths=/content/site-a
/oak:index/siteAcqPageLucene@queryPaths=/content/site-a
Le considerazioni relative a questo approccio sono le seguenti:
/oak:index/cqPageLucene
) indicizzerà ANCHE i dati, con conseguente duplicazione dei costi di acquisizione e utilizzo del disco.Dove si trova un elenco di tutti gli analizzatori disponibili?
Oak espone un set di elementi di configurazione dell’analizzatore forniti da Lucene da utilizzare nell’AEM.
Come cercare pagine e risorse nella stessa query?
Una novità di AEM 6.3 è la possibilità di eseguire query per più tipi di nodo nella stessa query fornita. La seguente query QueryBuilder. Tieni presente che ogni "sottoquery" può risolvere nel proprio indice, quindi in questo esempio, il cq:Page
la sottoquery viene risolta in /oak:index/cqPageLucene
e dam:Asset
la sottoquery viene risolta in /oak:index/damAssetLucene
.
group.p.or=true
group.1_group.type=cq:Page
# add all page restrictions to this group
group.2_group.type=dam:Asset
# add all asset restrictions to this group
restituisce il piano di query e query seguente:
QUERY:(//element(*, cq:Page) | //element(*, dam:Asset))
PLAN: [cq:Page] as [a] /* lucene:cqPageLucene(/oak:index/cqPageLucene) *:* */ union [dam:Asset] as [a] /* lucene:damAssetLucene(/oak:index/damAssetLucene) *:* */
Esplora la query e i risultati tramite Debugger QueryBuilder e Plug-in AEM Chrome.
Come effettuare ricerche su più percorsi nella stessa query?
Una novità di AEM 6.3 è la possibilità di eseguire query su più percorsi nella stessa query fornita. La seguente query QueryBuilder. Tieni presente che ogni "sottoquery" può risolvere nel proprio indice.
group.p.or=true
group.1_group.type=cq:Page
group.1_group.path=/content/docs/en/6-2
# add all page restrictions to this group
group.2_group.type=cq:Page
group.2_group.path=/content/docs/en/6-3
# add all asset restrictions to this group
restituisce il piano di query e query seguente
QUERY: (/jcr:root/content/docs/en/_x0036_-2//element(*, cq:Page) | /jcr:root/content/docs/en/_x0036_-3//element(*, cq:Page))
PLAN: [cq:Page] as [a] /* traverse "/content/docs/en/6-2//*" where isdescendantnode([a], [/content/docs/en/6-2]) */ union [cq:Page] as [a] /* traverse "/content/docs/en/6-3//*" where isdescendantnode([a], [/content/docs/en/6-3]) */
Esplora la query e i risultati tramite Debugger QueryBuilder e Plug-in AEM Chrome.