Implementeringshandbok för enkel sökning simple-search-implementation-guide
Den enkla sökimplementeringen är material från Adobe Summit lab AEM Search Demystified. Den här sidan innehåller material från det här labbet. En guidad visning av labbet finns i Lab-arbetsboken i avsnittet Presentation på den här sidan.
Presentationsmaterial bookmarks
Bokmärken bookmarks-1
verktyg tools
- Indexhanteraren
- Förklara fråga
- CRXDE Lite > /oak:index/cqPageLucene
- CRX Package Manager
- QueryBuilder-felsökning
- Oak Index Definition Generator
Kapitel chapters
Kapitel-länkarna nedan förutsätter att Initiala paket är installerade på AEM författare påhttp://localhost:4502
Paket packages
Inledande paket initial-packages
Kapitelpaket chapter-packages
Refererat material reference-materials
Korrigeringar och uppföljning corrections-and-follow-up
Rättelser och förtydliganden från labbdiskussionerna och svar på uppföljningsfrågor från deltagarna.
-
Hur avbryter jag omindexering?
Omindexering kan stoppas via IndexStats MBean via AEM Web Console > JMX
-
- Kör
abortAndPause()
om du vill avbryta omindexeringen. Detta låser indexet för ytterligare omindexering tillsresume()
anropas. - Indexeringsprocessen startas om när
resume()
körs.
- Kör
-
Dokumentation: https://jackrabbit.apache.org/oak/docs/query/indexing.html#async-index-mbean
-
-
Hur kan oak-index stödja flera innehavare?
Oak har stöd för att placera index genom innehållsträdet, och dessa index indexeras bara inom det underträdet.
/content/site-a/oak:index/cqPageLucene
kan till exempel bara skapas för indexinnehåll under/content/site-a
.Ett likvärdigt sätt är att använda egenskaperna
includePaths
ochqueryPaths
i ett index under/oak:index
. Till exempel:/oak:index/siteAcqPageLucene@includePaths=/content/site-a
/oak:index/siteAcqPageLucene@queryPaths=/content/site-a
Följande överväganden bör göras:
- Frågor MÅSTE ange en sökvägsbegränsning som är lika med indexets sökvägsomfång, eller vara en underordnad där till.
- Bredare index (till exempel
/oak:index/cqPageLucene
) indexerar också data, vilket resulterar i duplicerat intag och kostnad för diskanvändning. - Kan kräva duplicerad konfigurationshantering (t.ex. lägga till samma indexRules i flera innehavarindex om de måste uppfylla samma frågeuppsättningar)
- Det här arbetssättet används bäst på AEM Publish-nivå för anpassad webbplatssökning, till exempel AEM författare, eftersom det är vanligt att frågor körs uppåt i innehållsträdet för olika innehavare (till exempel via OmniSearch) - olika indexdefinitioner kan ge olika beteenden baserat enbart på sökvägsbegränsningen.
-
Var finns en lista över alla tillgängliga analytiker?
Oak visar en uppsättning lucene-provides analyzer-konfigurationselement som kan användas i AEM.
-
Hur söker jag efter sidor och Assets i samma fråga?
Nytt i AEM 6.3 är möjligheten att söka efter flera nodtyper i samma fråga. Följande QueryBuilder-fråga. Observera att varje underfråga kan matchas till sitt eget index, så i det här exemplet tolkas underfrågan
cq:Page
till/oak:index/cqPageLucene
och underfrågandam:Asset
blir/oak:index/damAssetLucene
.code language-plain 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
resulterar i följande fråge- och frågeplan:
code language-plain 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) *:* */
Utforska frågan och resultaten via QueryBuilder Debugger och AEM Chrome Plug-in.
-
Hur söker man över flera sökvägar i samma fråga?
Nytt i AEM 6.3 är möjligheten att fråga över flera sökvägar i samma fråga. Följande QueryBuilder-fråga. Observera att varje "underfråga" kan tolkas som ett eget index.
code language-plain 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
resultat i följande fråge- och frågeplan
code language-plain 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]) */
Utforska frågan och resultaten via QueryBuilder Debugger och AEM Chrome Plug-in.