美文网首页
solr多词匹配搜索问题及解决

solr多词匹配搜索问题及解决

作者: 柠檬冰块 | 来源:发表于2019-01-11 18:28 被阅读0次

搜索绝对不仅仅是搭起框架,搜索到结果就完成的工作,对于结果集的分词、排序等等的优化才是重中之重。

先简单说下背景:主要搜索对象为电商商品、商铺等等。

使用技术:solr、IK_Analyzer

项目中遇到的solr搜索产生多词匹配,导致搜索结果中会有不需要显示的数据。

下来我分享下我在项目中是怎么解决的。

比如:我现在要搜“洗衣机”,结果会出现洗衣机并且排名是在最前面,但是到后面就会有,挂烫机、手机、料理机、有机..等你的带“机”的商品,这个确实很苦恼啊,然后用分词器测试了分词结果,是洗衣、机,这两个。那就意味着洗衣和机是多匹配,导致我不需要的数据出来了。

最终经过查阅资料,把这个问题解决了,具体就是在solr项目中的schema.xml 中设置slolr查询解析器<solrQueryParser defaultOperator="AND">属性把默认的or改为and

在重新启动服务就ok了,分析了下其实slolr查询解析器<solrQueryParser>默认or是分词集合的并集,那洗衣机来说,分词洗衣机、洗衣、机共同搜索出来的商品三个字中只要有其一就可以,而and是分词集合的交集,就是搜索结果中必须同时存在洗衣机、洗衣、机这三者分词才命中。

相关文章

网友评论

      本文标题:solr多词匹配搜索问题及解决

      本文链接:https://www.haomeiwen.com/subject/inxfdqtx.html