Wie lässt sich die CQ5-Suchfunktion verbessern, indem Sie bestimmte Eigenschaften von der Indexierung ausschließen, die Rechtschreibprüfung aktiveren oder durch ein Verstopfen und andere Features?
Das Suchmodul in CQ5 wird mithilfe von CRX erstellt. CRX verwendet einen eingebetteten Apache Lucene, um die Suche zu implementieren. CRX bietet verschiedene Parameter und Konfigurationen, um Ihnen die Möglichkeit zu geben, den Index festzulegen, um den Anforderungen Ihres Unternehmens gerecht zu werden.
Suchindex-Konfiguration:
Zuallererst kann eine CRX-Repository einen oder mehrere Arbeitsbereiche haben und jeder davon hat seinen eigenen Suchindex. Außerdem kann der Suchindex jedes Arbeitsbereiches in der Arbeitsbereich-Datei workspace.xml separat konfiguriert werden.
Bei einer Installation der standardmäßigen CQ5 haben Sie nur einen CRX-Arbeitsbereich mit dem Namen „crx.default“. Dieser Arbeitsbereich speichert den Inhalt Ihrer gesamten Site (exklusive de Versionen). Die Suchindex-Konfiguration für diesen Arbeitsbereich kann unter crx-quickstart/Arbeitsplätze/crx.default/workspace.xml gefunden werden Alle Konfigurationen dafür können im <SearchIndex>-Element vorgenommen werden. Ein Verweis auf all diese Konfigurationen finden Sie hier.
Hier sehen Sie das Beispiel einer workspace.xml Suchindex-Sektion:
...
<SearchIndex class="com.day.crx.query.lucene.LuceneHandler"> <param name="path" value="${wsp.home}/index"/> </SearchIndex> ...
indexing_config.xml configuration:
Die Konfigurationen in der Datei workspace.xml erlauben es Ihnen, das Verhalten des Suchindex einzustellen, aber Sie können nicht ändern, welcher Inhalt indexiert wird. Um dies zu konfigurieren, müssen wir uns die Datei indexing_config.xml ansehen, die es uns erlaubt, Indexierungsregeln anzugeben.
indexing_config.xml
unter crx-quickstart/Server/runtime/0/_crx/WEB-INF/classes.
In CQ5.5 ist die Standardkonfigurationsdatei in das im OSGi-Container bereitgestellte Projektarchiv-Bundle eingebettet.
<SearchIndex class="com.day.crx.query.lucene.LuceneHandler"> <param name="path" value="${wsp.home}/index"/> <param name="resultFetchSize" value="50" /> <param name="indexingConfiguration" value="${wsp.home}/indexing_config.xml"/> </SearchIndex>
...CQ5.2+
<?xml version="1.0"?> | |
<!DOCTYPE configuration SYSTEM "http://jackrabbit.apache.org/dtd/indexing-configuration-1.2.dtd"> | |
<configuration | |
xmlns:cq="http://www.day.com/jcr/cq/1.0" | |
xmlns:dam="http://www.day.com/dam/1.0" | |
xmlns:nt="http://www.jcp.org/jcr/nt/1.0" | |
xmlns:jcr="http://www.jcp.org/jcr/1.0" | |
xmlns:sling="http://sling.apache.org/jcr/sling/1.0"> | |
<!-- Indexieren Sie keinen Content von Teilassets --> | |
<index-rule nodeType="nt:resource" | |
condition="ancestor::subassets/@jcr:primaryType='{http://www.jcp.org/jcr/nt/1.0}unstructured'"> | |
</index-rule> | |
<!-- | |
Schließen Sie einige bekannte Eigenschaften aus dem Knotenbereich aus | |
Volltextindex. Fügen Sie hierunter keine Regeln hinzu, da | |
diese Regel stimmt mit jedem beliebigen Knoten überein und fungiert als Standard/Rückgriff.. | |
--> | |
<index-rule nodeType="nt:base"> | |
<property nodeScopeIndex="false">analyticsProvider</property> | |
<property nodeScopeIndex="false">analyticsSnippet</property> | |
<property nodeScopeIndex="false">hideInNav</property> | |
<property nodeScopeIndex="false">offTime</property> | |
<property nodeScopeIndex="false">onTime</property> | |
<property nodeScopeIndex="false">cq:allowedTemplates</property> | |
<property nodeScopeIndex="false">cq:childrenOrder</property> | |
<property nodeScopeIndex="false">cq:cugEnabled</property> | |
<property nodeScopeIndex="false">cq:cugPrincipals</property> | |
<property nodeScopeIndex="false">cq:cugRealm</property> | |
<property nodeScopeIndex="false">cq:designPath</property> | |
<property nodeScopeIndex="false">cq:isCancelledForChildren</property> | |
<property nodeScopeIndex="false">cq:isDeep</property> | |
<property nodeScopeIndex="false">cq:lastModified</property> | |
<property nodeScopeIndex="false">cq:lastModifiedBy</property> | |
<property nodeScopeIndex="false">cq:lastPublished</property> | |
<property nodeScopeIndex="false">cq:lastPublishedBy</property> | |
<property nodeScopeIndex="false">cq:lastReplicated</property> | |
<property nodeScopeIndex="false">cq:lastReplicatedBy</property> | |
<property nodeScopeIndex="false">cq:lastReplicationAction</property> | |
<property nodeScopeIndex="false">cq:lastReplicationStatus</property> | |
<property nodeScopeIndex="false">cq:lastRolledout</property> | |
<property nodeScopeIndex="false">cq:lastRolledoutBy</property> | |
<property nodeScopeIndex="false">cq:name</property> | |
<property nodeScopeIndex="false">cq:parentPath</property> | |
<property nodeScopeIndex="false">cq:segments</property> | |
<property nodeScopeIndex="false">cq:siblingOrder</property> | |
<property nodeScopeIndex="false">cq:template</property> | |
<property nodeScopeIndex="false">cq:trigger</property> | |
<property nodeScopeIndex="false">cq:versionComment</property> | |
<property nodeScopeIndex="false">jcr:createdBy</property> | |
<property nodeScopeIndex="false">jcr:lastModifiedBy</property> | |
<property nodeScopeIndex="false">sling:alias</property> | |
<property nodeScopeIndex="false">sling:resourceType</property> | |
<property nodeScopeIndex="false">sling:vanityPath</property> | |
<property isRegexp="true">*:.*</property> | |
</index-rule> | |
<!-- Cq Page for jcr:contains(jcr:content, "...") searches --> | |
<aggregate primaryType="cq:PageContent"> | |
<include>*</include> | |
<include>*/*</include> | |
<include>*/*/*</include> | |
<include>*/*/*/*</include> | |
</aggregate> | |
<aggregate primaryType="dam:Asset"> | |
<include>jcr:content</include> | |
<include>jcr:content/metadata</include> | |
<include>jcr:content/metadata/*</include> | |
<include>jcr:content/renditions</include> | |
<include>jcr:content/renditions/original</include> | |
<include>jcr:content/renditions/original/jcr:content</include> | |
<!-- child axis orderby index --> | |
<include>jcr:content/renditions/original/jcr:content/jcr:lastModified</include> | |
</aggregate> | |
<!-- nt:file child axis orderby index --> | |
<aggregate primaryType="nt:file"> | |
<include>jcr:content</include> | |
<include>jcr:content/jcr:lastModified</include> | |
</aggregate> | |
<!-- cq:Page child axis orderby index --> | |
<aggregate primaryType="cq:Page"> | |
<include>jcr:content</include> | |
<include>jcr:content/cq:lastModified</include> | |
</aggregate> | |
</configuration> | |
Bei Ihrem Konto anmelden