微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Solr 同义词中的“Is-a”关系

如何解决Solr 同义词中的“Is-a”关系

我有两个文本:

文本-1

我们新的 Android 智能手机

文本-2

我们的新 iPhone 智能手机

我想告诉 Solr,“android”“智能手机”。

预期结果:

如果用户搜索“Android”,则只能找到第一个文本。

如果用户搜索“智能手机”,则应找到这两个文本。

如果我使用“相等同义词”(SolrSynonymParser)(在编制索引期间),那么在两个文本中,术语“智能手机”将扩展为“智能手机、Android、iPhone”。

解决方法

除了MatsLindh的注释,要添加一个单向同义词,如:"android=>android,smartphone",你还应该考虑只在索引时添加同义词过滤器,而不是在索引和查询时都添加

>

例如:

<analyzer type="index"> 
   ...
   <filter class="solr.SynonymGraphFilterFactory" synonyms="synonyms.txt"/>
   ... 
</analyzer>

这样,“android”和“smartphone”都会被索引到任何出现的“android”

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。