Die Implementierung der einfachen Suche ist das Material aus dem Adobe Summit-Labor AEM Suche 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 von der Annahme aus, dass Anfängliche Pakete werden 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 verfügbar ist. AEM Web-Konsole > JMX
abortAndPause()
, um die Neuindizierung abzubrechen. Dadurch wird der Index für eine weitere Neuindizierung gesperrt, bis resume()
aufgerufen wird.resume()
startet den Indizierungsprozess neu.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. Beispiel /content/site-a/oak:index/cqPageLucene
kann nur unter erstellt werden, um Inhalte zu indizieren /content/site-a
.
Ein gleichwertiger Ansatz ist die Verwendung der includePaths
und queryPaths
Eigenschaften auf einem Index unter /oak:index
. 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
) indiziert auch die Daten, was zu doppelter Erfassung und zu Kosten der 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 das cq:Page
sub-query aufgelöst zu /oak:index/cqPageLucene
und dam:Asset
sub-query aufgelöst zu /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
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) *:* */
Abfrage und Ergebnisse durchsuchen ü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]) */
Abfrage und Ergebnisse durchsuchen über QueryBuilder-Debugger und AEM Chrome-Plug-in.