问题描述
我有两个文本:
文本-1
我们新的 Android 智能手机
文本-2
我们的新 iPhone 智能手机
我想告诉 Solr,“android”是“智能手机”。
预期结果:
如果我使用“相等同义词”(SolrSynonymParser)(在编制索引期间),那么在两个文本中,术语“智能手机”将扩展为“智能手机、Android、iPhone”。
解决方法
除了MatsLindh的注释,要添加一个单向同义词,如:"android=>android,smartphone",你还应该考虑只在索引时添加同义词过滤器,而不是在索引和查询时都添加
>例如:
<analyzer type="index">
...
<filter class="solr.SynonymGraphFilterFactory" synonyms="synonyms.txt"/>
...
</analyzer>
这样,“android”和“smartphone”都会被索引到任何出现的“android”