Elasticsearch相关度评分_score

相关度评分 _score 的目的

是为了将当前查询的结果进行排序,比较不同查询结果的相关度评分没有太大意义。

_score的计算方式

score(q,d)  =    # score(q,d) 是文档 d 与查询 q 的相关度评分。   
          · queryNorm(q)      # 查询归一化因子,用来使查询结果之间能够相互比较,但意义不大,因为_score的目的并不是对不同查询进行比较,而是用来对查询结果进行排序
          · coord(q,d)        # 协调因子,对于多词查询,文档里出现的匹配词越多,该值越大。 bool查询也遵循这个规则。Lucene中同义词查询会自动禁用这个值(优秀!)。
          · ∑ (           
              · tf(t in d)       
              · idf(t)²      
              · t.getBoost()     
              · norm(t,d)    
            ) (t in q)   

原文

优化查询结果的方法

  1. 设置boost参数在一个查询上、某些索引上
  2. 使用查询结构修改相关度
  3. 使用boosting查询,对包含不想要的词的查询结果进行降级
  4. function_score查询:这个查询可以使两个效果融合:可以仍然根据全文相关度进行排序,但也会同时考虑最新发布文档、流行文档、或接近用户希望价格的产品。
    3.1 field_value_factor:需要有一个专门的字段,存储数值,以这个数值进行调试
    3.2 functions:可以用来对不同搜索词加权
    3.3

转载于:https://www.cnblogs.com/DianeSoHungry/p/8875144.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值