12. tie_breaker的使用原因和使用方法

主要知识点:

  • tie_breaker的使用原因和使用方法

       

       

一、tie_breaker的使用原因

dis_max,只是取分数最高的那个query的分数而已,完全不考虑其他query的分数,这种一刀切的做法,可能导致在有其他query的影响下,score不准确的情况,这时为了使用结果更准确,最好还是要考虑到其他query的影响,

   

二、tie_breaker的使用方法

使用tie_breaker将其他query的分数也考虑进去

tie_breaker参数的意义,将其他query的分数乘以tie_breaker,然后综合考虑后与最高分数的那个query的分数综合在一起进行计算,这样做除了取最高分以外,还会考虑其他的query的分数。tie_breaker的值,设置在在0~1之间,是个小数就行,没有固定的值

语法如下:

   

GET /forum/article/_search

{

"query": {

"dis_max": {

"queries": [

{ "match": { "title": "java beginner" }},

{ "match": { "body": "java beginner" }}

],

"tie_breaker": 0.3

}

}

}

原文地址:https://www.cnblogs.com/liuqianli/p/8485268.html