我想实现一个同义词过滤器,它会给我一个结果,比如:



例如,如果我键入";US";在搜索框中,则它必须仅返回类似["USA"、"United Stated"、"Stated"]的同义词。我不想要";United";或";States";分别在我的搜索结果

我的同义词.txt文件US=>美国,美国,美国

在此处输入图像描述

我建议只在索引时使用SynonymFilterFactory,而不是在查询时使用。请为您的字段尝试以下字段类型。

<fieldType name="text" class="solr.TextField">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.SynonymFilterFactory" synonyms="mysynonyms.txt"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>

注意:如果已经有一个用名称"定义的fieldType;文本";,请更改上述字段类型的名称。

相关内容

  • 没有找到相关文章

最新更新