这篇文章主要为大家展示了“elasticsearch打分策略的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“elasticsearch打分策略的示例分析”这篇文章吧。
创新互联建站秉承实现全网价值营销的理念,以专业定制企业官网,成都做网站、网站制作,小程序定制开发,网页设计制作,成都做手机网站,成都营销网站建设帮助传统企业实现“互联网+”转型升级专业定制企业官网,公司注重人才、技术和管理,汇聚了一批优秀的互联网技术人才,对客户都以感恩的心态奉献自己的专业和所长。
es的搜索结果,每一个结果上面都会有一个“_score”字段,就是搜出来这个结果所占的分值。
这个就涉及到搜索结果的排序问题。当然我们想要相关度越大结果越靠前。
es评分策略设计到两点
1:内容相关度
比如淘宝搜索 “小米电视机“,淘宝的搜索会先把条件分词 分为 “小米”“电视”“电视机”(也看可能更细粒度),然后去自己的仓库查找符合条件的产品,当然我们看到的最靠前的就是小米电视机 32寸,曲面 4k 一些相关的电视机,但是你跳转到第五页或者更靠后,你会发现产品 并不是小米电视机,有一些 小米配件,小米遥控板,或者海信电视机,索尼电视剧一类的产品。 这种现象就是说搜索会根据入参的分词去搜索数据库的数据,当字段的值匹配度越高,这个结果的评分就越高,就越靠前。(声明:笔者并不知道淘宝的搜索引擎是什么,只是用这种现象解释一下)
2:映射结构字段的权重值
我自己type的一个字段叫做zuName 类型:文本类型,分词器是用的ik的分词器,权重值为5
现在假如有两个字段 :zuName 权重为5 ;zuDetail 权重为3
这样如果多字段搜索的话,两个字段的匹配度一致的话,但是zuName返回的评分更高一点,因为开始设置的权重更高。我现在的用途就是,多type查询的时候,相同字段会设置不同的权重,这样两个type的数据可以区分出来了。
以上是“elasticsearch打分策略的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!