solr 我想实现一个同义词过滤器,它给予如下结果:

ni65a41a  于 2022-11-05  发布在  Solr
关注(0)|答案(1)|浏览(170)

例如,如果我在搜索框中键入“US”,则它必须只返回类似[“USA”,“United States of America”,“United Stated”]的同义词。我不希望在搜索结果中分别出现“United”或“States
我的同义词. txt文件US =〉美国,美国,美国,美国
enter image description here

ffdz8vbo

ffdz8vbo1#

我建议只在索引时使用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>

注意:如果已经定义了名为“text”的fieldType,请更改上述字段类型的名称。

相关问题