例如,如果我键入";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;文本";,请更改上述字段类型的名称。