Como podemos ajustar a nossa funcionalidade de pesquisa CQ5, excluir certas propriedades de serem indexadas, ativar a verificação ortográfica, lematização ou outros recursos?
O módulo de pesquisa no CQ5 é construído usando o CRX. O CRX usa um índice Apache Lucene incorporado para implementar a pesquisa. O CRX fornece vários parâmetros e configurações para permitir que você ajuste o índice para atender às suas necessidades.
Configuração do Índice de pesquisa:
Em primeiro lugar, um repositório CRX pode ter um ou vários espaços de trabalho e cada espaço de trabalho possui seu próprio índice de pesquisa. Além disso, o índice de pesquisa de cada espaço de trabalho pode ser configurado separadamente no arquivo workspace.xml do espaço de trabalho.
Em uma instalação padrão do CQ5, você tem apenas um espaço de trabalho do CRX chamada "crx.default". Este espaço de trabalho armazena todo o conteúdo do seu site (excluindo versões). A configuração do índice de pesquisa para este espaço de trabalho pode ser encontrada em crx-quickstart/workspaces/crx.default/workspace.xml. Todas as configurações para isso podem ser feitas dentro do elemento <SearchIndex>. Uma referência de todas essas configurações pode ser encontrada aqui.
Aqui está um exemplo de seção de índice de pesquisa workspace.xml:
...
<SearchIndex class="com.day.crx.query.lucene.LuceneHandler"> <param name="path" value="${wsp.home}/index"/> </SearchIndex> ...
configuração indexing_config.xml:
As configurações no workspace.xml permitem ajustar o comportamento do índice de pesquisa, mas não permitem modificar qual conteúdo está sendo indexado. Para configurar isso, precisamos examinar o arquivo indexing_config.xml que nos permite especificar as regras de indexação.
indexing_config.xml
pode ser encontrado em crx-quickstart/server/runtime/0/_crx/WEB-INF/classes.
No CQ 5.5, o arquivo de configuração padrão é incorporado no pacote de repositório implementado no contêiner OSGi.
<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>
...CQ 5.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"> | |
<!-- Não indexe o conteúdo de sub-conjuntos --> | |
<index-rule nodeType="nt:resource" | |
condition="ancestor::subassets/@jcr:primaryType='{http://www.jcp.org/jcr/nt/1.0}unstructured'"> | |
</index-rule> | |
<!-- | |
Exclui algumas propriedades conhecidas do escopo do nó | |
índice de texto completo. Não adicione regras abaixo desta, já que | |
essa regra corresponde a qualquer nó e atua como um padrão / fallback. | |
--> | |
<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> | |
<!-- índice ordenar por eixo filho --> | |
<include>jcr:content/renditions/original/jcr:content/jcr:lastModified</include> | |
</aggregate> | |
<!-- nt:file índice ordenar por eixo filho --> | |
<aggregate primaryType="nt:file"> | |
<include>jcr:content</include> | |
<include>jcr:content/jcr:lastModified</include> | |
</aggregate> | |
<!-- cq:Page índice ordenar por eixo filho --> | |
<aggregate primaryType="cq:Page"> | |
<include>jcr:content</include> | |
<include>jcr:content/cq:lastModified</include> | |
</aggregate> | |
</configuration> | |
Fazer logon em sua conta