Frage

Wie kann ich verhindern, dass CRX bestimmte Bäume meiner Inhalte zum Suchindex hinzufügt/indexiert?

 

Antwort, Auflösung

Standardmäßig enthält CRX keine Möglichkeit, bestimmte Pfade von der Indizierung auszuschließen, jedoch kann es mit folgendem Trick gemacht werden:

  1. Sehen Sie zuerst die Schritte durch, um zu erfahren, wie Sie Änderungen an Ihrer indexing_config.xml-Datei vornehmen können.
  2. Fügen Sie die folgenden Regeln am Anfang Ihrer indexing_config.xml-Datei hinzu:
    <index-rule nodeType="nt:base" condition="@excludefromindex='true'" />
    <index-rule nodeType="nt:base" condition="ancestor::*/@excludefromindex='true'" />

     
    Dies schließt Knoten aus, bei denen die Eigenschaft 'excludefromindex' auf true gesetzt ist, sowie alle ihre Unterknoten.
     
  3. Der nächste Schritt besteht darin, die Eigenschaft „excludefromindex“ zum obersten Knoten der Pfade hinzuzufügen, die Sie aus der Indizierung ausschließen möchten.

    Da Knoten unter /content cq:Page-Knoten sind und Eigenschaften nicht zu cq:Page-Knoten hinzugefügt werden können, definieren wir einen Mixin-Knotentyp mit der Eigenschaft „excludefromindex“.
     Wenn Sie den Mixin-Typ zum Knoten cq:Page hinzufügen, wird automatisch auch die Eigenschaft „excludefromindex“ hinzugefügt.

    Um das Mixin zu erstellen:
    a. Rufen Sie die Webanwendung /crx/index.jsp auf und melden Sie sich als Administrator an (wenn Sie CRX2.3 oder höher verwenden, gehen Sie zu /crx/explorer/index.jsp).
    b. Klicken Sie auf „Knotentyp-Verwaltung“.
    c. Erstellen Sie im CRX Knotentyp-Verwaltungstool einen Mixin-Typ mit einer einzelnen Eigenschaft „excludefromindex“ vom Zeichenfolge-Typ mit dem Standardwert „true“.
    d. Setzen Sie das AutoCreate-Kennzeichen der Eigenschaft auf True.
    e. Fügen Sie den Mixin-Typ über den Content Explorer zu den cq:Page-Knoten der obersten Ebene der Seite hinzu, die Sie von der Suche ausschließen möchten.

  4. An dieser Stelle haben Sie den Prozess immer noch nicht abgeschlossen.  Obwohl Sie den Knotentyp hinzugefügt haben, ist der Inhalt weiterhin im Suchindex vorhanden.  Um den Inhalt aus dem Suchindex zu entfernen, muss der Inhaltsbaum neu indiziert werden.

    Um dies zu tun, haben Sie folgende Möglichkeiten:
  • Erstellen Sie den Lucene-Suchindex neu:
    a. Stoppen Sie CRX.
    b. Sichern und löschen Sie crx-quickstart/repository/workspaces/crx.default/index.
    c. Starten Sie CRX (dieser Vorgang kann sehr lange dauern, 1 - 48 Stunden, abhängig von der Größe Ihres Repository; planen Sie entsprechend).
  • Oder verwenden Sie die angehängte „touch_tree.jsp“, um den Teil des Inhalts, den Sie neu indizieren möchten, zu „touchen“ (dies funktioniert nicht in CRX2.3 +, sondern nur in CRX2.2.x und älteren Versionen):

    a. Um touch_tree.jsp auszuführen, muss es zuerst der CRX-Webanwendung hinzugefügt werden.  Kopieren Sie die Datei unter crx-quickstart/server/runtime/0/_crx/config/.
    Gehen Sie zu http://localhost:4502/crx und melden Sie sich als Administrator an.
    Gehen Sie zu http://localhost:4502/crx/config/touch_tree.jsp.
    d. Geben Sie einen Pfad ein und führen Sie den Touch-Vorgang aus.

    Dieses Skript liest jeden Knoten/jede Eigenschaft im Baum und schreibt die gleichen Daten zurück. Dies hat zur Folge, dass dieser Inhalt neu indiziert wird.  Beachten Sie, dass bei Verwendung der Standardpersistenzkonfiguration für CRX (Tar Persistence Manager) die TAR-Dateien erheblich wachsen werden.  Während dieses Prozesses wird möglicherweise InvalidItemStateException angezeigt, wenn andere Schreibvorgänge auf CRX ausgeführt werden, während touch_tree.jsp ausgeführt wird.

WARNUNG: Dies sollte nicht in einer CQ-Autoreninstanz ausgeführt werden, da dies die Referenzsuche unterbricht, die auftritt, wenn Sie versuchen, eine Seite oder ein Asset zu verschieben.  Dies könnte dazu führen, dass im Laufe der Zeit ungültige Links auf Ihrer Seite angezeigt werden.  Dieser Prozess kann jedoch in einer CQ-Veröffentlichungsinstanz sicher verwendet werden.

[1] http://dev.day.com/content/kb/home/cq5/CQ5SystemAdministration/SearchIndexingConfig.html

 

Gilt für

CRX 2.x

Herunterladen

Dieses Werk unterliegt den Bedingungen der Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.  Twitter™- und Facebook-Beiträge fallen nicht unter die Bedingungen der Creative Commons-Lizenz.

Rechtliche Hinweise   |   Online-Datenschutzrichtlinie