Implementierungshandbuch für einfache Suchen

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.

Sucharchitektur - Überblick

Präsentationsmaterialien

Lesezeichen

Tools

Kapitel

Die folgenden Kapitellinks gehen davon aus, dass die anfänglichen Pakete auf der AEM-Autoreninstanz unterhttp://localhost:4502

Pakete

Erstpakete

Kapitelpakete

Referenzierte Materialien

Korrekturen und Folgemaßnahmen

Korrekturen und Erläuterungen aus den Labordiskussionen und Antworten auf Folgefragen von Teilnehmern.

  1. Wie kann ich die Neuindizierung stoppen?

    Die Neuindizierung kann über das MBean IndexStats gestoppt werden, das über AEM Web-Konsole > JMX verfügbar ist.

  2. 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:

    • Abfragen MÜSSEN eine Pfadbeschränkung angeben, die dem Abfragepfadbereich des Index entspricht oder dort untergeordnet ist.
    • Umfassendere Indizes (z. B. /oak:index/cqPageLucene) indizieren die Daten ebenfalls, was zu doppelter Erfassung und Kosten für die Festplattennutzung führt.
    • Kann eine doppelte Konfigurationsverwaltung erfordern (z. B. Hinzufügen von gleichen indexRules über mehrere Mandanten-Indizes hinweg, wenn sie denselben Abfragesätzen entsprechen müssen)
    • Dieser Ansatz wird am besten auf der AEM-Veröffentlichungsstufe für die benutzerdefinierte Site-Suche bereitgestellt, da es in der AEM-Autoreninstanz üblich ist, Abfragen oben in der Inhaltsstruktur für verschiedene Mandanten auszuführen (z. B. über OmniSearch) - unterschiedliche Indexdefinitionen können zu unterschiedlichem Verhalten führen, das nur auf der Pfadbeschränkung basiert.
  3. Wo ist eine Liste aller verfügbaren Analyzer?

    Oak stellt eine Reihe von Lucene-bereitgestellten Analyzer-Konfigurationselementen zur Verwendung in AEM bereit.

  4. 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.

  5. 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.

Auf dieser Seite