1. 程式人生 > >12. tie_breaker的使用原因和使用方法

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

完全 san 而已 參數 strong inner art cor 知識

主要知識點:

  • 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

}

}

}

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