elasticsearch打分策略的示例分析
更新:HHH   时间:2023-1-7


这篇文章主要为大家展示了“elasticsearch打分策略的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“elasticsearch打分策略的示例分析”这篇文章吧。

es的搜索结果,每一个结果上面都会有一个“_score”字段,就是搜出来这个结果所占的分值。

这个就涉及到搜索结果的排序问题。当然我们想要相关度越大结果越靠前。

es评分策略设计到两点

   1:内容相关度

    比如淘宝搜索 “小米电视机“,淘宝的搜索会先把条件分词 分为 “小米”“电视”“电视机”(也看可能更细粒度),然后去自己的仓库查找符合条件的产品,当然我们看到的最靠前的就是小米电视机 32寸,曲面 4k 一些相关的电视机,但是你跳转到第五页或者更靠后,你会发现产品 并不是小米电视机,有一些 小米配件,小米遥控板,或者海信电视机,索尼电视剧一类的产品。 这种现象就是说搜索会根据入参的分词去搜索数据库的数据,当字段的值匹配度越高,这个结果的评分就越高,就越靠前。(声明:笔者并不知道淘宝的搜索引擎是什么,只是用这种现象解释一下)

2:映射结构字段的权重值

    

我自己type的一个字段叫做zuName 类型:文本类型,分词器是用的ik的分词器,权重值为5

现在假如有两个字段 :zuName 权重为5 ;zuDetail 权重为3

这样如果多字段搜索的话,两个字段的匹配度一致的话,但是zuName返回的评分更高一点,因为开始设置的权重更高。我现在的用途就是,多type查询的时候,相同字段会设置不同的权重,这样两个type的数据可以区分出来了。

以上是“elasticsearch打分策略的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注天达云行业资讯频道!

返回云计算教程...