Aem CQ5-搜索-启用同义词匹配

Aem CQ5-搜索-启用同义词匹配,aem,Aem,非常感谢您在以下方面提供的任何帮助,以及非常简单的功能。我试图在CQ5 | AEM中启用同义词匹配,我一直在使用它作为指导原则 我正在尝试创建一个同义词,并对“tablet”以及“tableau”和“Tablette”进行搜索。我创建了一个小的synonyms.properties文件,其中包含以下条目: tablet=Tablette tablet=tableau Tablette=tablet (第三行是强制性的,因为它与第一行相对应)。我还修改了worspace.xml和reposit

非常感谢您在以下方面提供的任何帮助,以及非常简单的功能。我试图在CQ5 | AEM中启用同义词匹配,我一直在使用它作为指导原则

我正在尝试创建一个同义词,并对“tablet”以及“tableau”和“Tablette”进行搜索。我创建了一个小的synonyms.properties文件,其中包含以下条目:

tablet=Tablette
tablet=tableau
Tablette=tablet 
(第三行是强制性的,因为它与第一行相对应)。我还修改了worspace.xml和repository.xml:

同义词.properties位于 C:\temp\author\crx quickstart\repository\workspace\crx.default\index

worspace.xml位于中 C:\temp\author\crx quickstart\repository\workspace\crx.default
添加了以下条目

<SearchIndex class="com.day.crx.query.lucene.LuceneHandler">
    <param name="path" value="${wsp.home}/index"/>
    <param name="resultFetchSize" value="50"/>
    <param name="synonymProviderClass" value="org.apache.jackrabbit.core.query.lucene.PropertiesSynonymProvider"/>
    <param name="synonymProviderConfigPath" value="synonyms.properties"/>
</SearchIndex>
<SearchIndex class="com.day.crx.query.lucene.LuceneHandler">
    <param name="path" value="${wsp.home}/index"/>
    <param name="resultFetchSize" value="50"/>
    <param name="synonymProviderClass" value="org.apache.jackrabbit.core.query.lucene.PropertiesSynonymProvider"/>
    <param name="synonymProviderConfigPath" value="synonyms.properties"/>
</SearchIndex>

repository.xml位于中 C:\temp\author\crx quickstart\repository
添加了以下条目

<SearchIndex class="com.day.crx.query.lucene.LuceneHandler">
    <param name="path" value="${wsp.home}/index"/>
    <param name="resultFetchSize" value="50"/>
    <param name="synonymProviderClass" value="org.apache.jackrabbit.core.query.lucene.PropertiesSynonymProvider"/>
    <param name="synonymProviderConfigPath" value="synonyms.properties"/>
</SearchIndex>
<SearchIndex class="com.day.crx.query.lucene.LuceneHandler">
    <param name="path" value="${wsp.home}/index"/>
    <param name="resultFetchSize" value="50"/>
    <param name="synonymProviderClass" value="org.apache.jackrabbit.core.query.lucene.PropertiesSynonymProvider"/>
    <param name="synonymProviderConfigPath" value="synonyms.properties"/>
</SearchIndex>

当我在平板电脑上搜索时,我会得到我的平板电脑,当我在tableau上搜索时,我也会得到相应的条目,但可以肯定的是,这两个关键字不会被视为同义词

是否有人可以确认配置的正确性,以及是否可以添加额外的调试

非常感谢,,
Wim

我通过搜索Jackrabbit解决了这个难题(因为AEM使用Apache Jackrabbit查询)。诀窍是使用波浪线或~字符

假设您使用JCR-SQL2,只需使用以下语法:

SELECT productType FROM [nt:base] AS s WHERE ISDESCENDANTNODE([/content/mywebsite/en/products]) 
and contains(productType, '~tableau') 
我希望其他用户也能从中受益。 懦夫