Bei der Implementierung der einfachen Suche handelt es sich um die Materialien aus dem Adobe Summit-Labor AEM Search Demystified. Diese Seite enthält die Materialien aus diesem Labor. Eine Führung durch das Labor erhalten Sie in der Arbeitsmappe für den Lab im Abschnitt Präsentation dieser Seite.
Die folgenden Kapitellinks gehen davon aus, dass die anfänglichen Pakete auf der AEM-Autoreninstanz unterhttp://localhost:4502
Korrekturen und Erläuterungen aus den Labordiskussionen und Antworten auf Folgefragen von Teilnehmern.
Wie kann ich die Neuindizierung stoppen?
Die Neuindizierung kann über das MBean IndexStats gestoppt werden, das über AEM Web-Konsole > JMX verfügbar ist.
abortAndPause()
aus, um die Neuindizierung abzubrechen. Dadurch wird der Index für eine weitere Neuindizierung gesperrt, bis resume()
aufgerufen wird.resume()
ausführen, wird der Indizierungsprozess neu gestartet.Wie können Oak-Indizes mehrere Mandanten unterstützen?
Oak unterstützt das Platzieren von Indizes über die Inhaltsstruktur, und diese Indizes werden nur innerhalb dieser Unterstruktur indiziert. Beispielsweise könnte /content/site-a/oak:index/cqPageLucene
so erstellt werden, dass Inhalte nur unter /content/site-a
. indiziert werden.
Eine gleichwertige Methode besteht darin, die Eigenschaften includePaths
und queryPaths
für einen Index unter /oak:index
zu verwenden. Beispiel:
/oak:index/siteAcqPageLucene@includePaths=/content/site-a
/oak:index/siteAcqPageLucene@queryPaths=/content/site-a
Bei diesem Ansatz werden folgende Aspekte berücksichtigt:
/oak:index/cqPageLucene
) indizieren die Daten ebenfalls, was zu doppelter Erfassung und Kosten für die Festplattennutzung führt.Wo ist eine Liste aller verfügbaren Analyzer?
Oak stellt eine Reihe von Lucene-bereitgestellten Analyzer-Konfigurationselementen zur Verwendung in AEM bereit.
Wie kann in derselben Abfrage nach Seiten und Assets gesucht werden?
Neu in AEM 6.3 ist die Möglichkeit, mehrere Knotentypen in derselben bereitgestellten Abfrage abzufragen. Die folgende QueryBuilder-Abfrage. Beachten Sie, dass jede "Sub-Abfrage"in einen eigenen Index aufgelöst werden kann. In diesem Beispiel wird die cq:Page
-Unterabfrage zu /oak:index/cqPageLucene
und die dam:Asset
-Unterabfrage zu /oak:index/damAssetLucene
aufgelöst.
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
Ergebnisse im folgenden Abfrage- und Abfrageplan:
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) *:* */
Erkunden Sie die Abfrage und Ergebnisse über QueryBuilder-Debugger und AEM Chrome-Plug-in.
Wie kann in derselben Abfrage über mehrere Pfade gesucht werden?
Neu in AEM 6.3 ist die Möglichkeit, mehrere Pfade in derselben bereitgestellten Abfrage abzufragen. Die folgende QueryBuilder-Abfrage. Beachten Sie, dass jede "Sub-Abfrage"in einen eigenen Index aufgelöst werden kann.
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
Ergebnisse im folgenden Abfrage- und Abfrageplan
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]) */
Erkunden Sie die Abfrage und Ergebnisse über QueryBuilder-Debugger und AEM Chrome-Plug-in.