L’implementazione della ricerca semplice è costituita dai materiali Adobe Summit lab AEM Search Demystified. Questa pagina contiene i materiali di questo laboratorio. Per una visita guidata del laboratorio, vedere la cartella di lavoro Lab nella sezione Presentazione di questa pagina.
I link del Capitolo qui sotto assumono la Pacchetti iniziali sono installati su AEM Author inhttp://localhost:4502
Correzioni e chiarimenti dalle discussioni di laboratorio e risposte alle domande successive dei partecipanti.
Come interrompere la reindicizzazione?
La reindicizzazione può essere arrestata tramite la MBean IndexStats disponibile tramite Console Web AEM > JMX
abortAndPause()
per interrompere la reindicizzazione. In questo modo l’indice viene bloccato per ulteriori reindicizzazione fino a quando resume()
viene richiamato.resume()
riavvia il processo di indicizzazione.Come possono gli indici oak supportare più tenant?
Oak supporta il posizionamento di indici attraverso la struttura del contenuto, e questi indici si indicizzeranno solo all’interno di tale sottoalbero. Esempio /content/site-a/oak:index/cqPageLucene
potrebbe essere creato per indicizzare il contenuto solo in /content/site-a
.
Un approccio equivalente consiste nell'utilizzare includePaths
e queryPaths
proprietà in un indice sotto /oak:index
. Esempio:
/oak:index/siteAcqPageLucene@includePaths=/content/site-a
/oak:index/siteAcqPageLucene@queryPaths=/content/site-a
Le considerazioni di questo approccio sono le seguenti:
/oak:index/cqPageLucene
) indicizza anche i dati, con conseguente ingestione duplicativa e costo di utilizzo del disco.Dove si trova un elenco di tutti gli analizzatori disponibili?
Oak espone un set di elementi di configurazione dell'analizzatore lucene-fornisce da utilizzare in AEM.
Come cercare pagine e risorse nella stessa query?
La novità di AEM 6.3 è la capacità di eseguire query per più tipi di nodo nella stessa query fornita. La seguente query QueryBuilder. Tieni presente che ogni "sottoquery" può risolvere al proprio indice, quindi in questo esempio, la cq:Page
la sottoquery risolve in /oak:index/cqPageLucene
e dam:Asset
la sottoquery risolve 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 seguente piano di query e query:
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) *:* */
Esplorare la query e i risultati tramite Debugger di QueryBuilder e Plug-in di AEM Chrome.
Come eseguire la ricerca su più percorsi nella stessa query?
La novità di AEM 6.3 è la capacità di eseguire query su più percorsi nella stessa query fornita. La seguente query QueryBuilder. Tieni presente che ogni "sottoquery" può risolvere al 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 seguente piano di query
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]) */
Esplorare la query e i risultati tramite Debugger di QueryBuilder e Plug-in di AEM Chrome.