[英]Boost does not apply on elasticsearch function_score
我正在使用elasticsearch-6.3.1。 以下查詢按預期工作:
"query": {
"function_score" : {
"query" : {
"match_all" : {}
},
"functions" : [
{
"filter" : {
"match_all" : {}
},
"script_score" : {
"script" : { "source" : "8" }
}
},
{
"filter" : {
"match_all" : {}
},
"script_score" : {
"script" : { "source" : "4" }
}
}
],
"score_mode" : "avg",
"boost" : 0.5
}
}
返回3分(平均(6)乘以提升(0.5))。
如果我刪除其中一個功能,
"query": {
"function_score" : {
"query" : {
"match_all" : {}
},
"functions" : [
{
"filter" : {
"match_all" : {}
},
"script_score" : {
"script" : { "source" : "8" }
}
}
],
"score_mode" : "avg",
"boost" : 0.5
}
}
我得到的分數是8,沒有應用提升。 我在這里想念什么?
這似乎是一個Elasticsearch錯誤,但我在GitHub問題跟蹤器中看不到任何故障單。
怪異的:此查詢工作正常(只需用簡單的權重替換script_score)
{
"query": {
"function_score": {
"query": {
"match_all": {}
},
"functions": [
{
"filter": {
"match_all": {}
},
"weight": 8
}
],
"score_mode": "avg",
"boost": 0.5
}
}
}
=>給出_score
為4
因此,當唯一的功能是script_score -_-時,ES似乎不應用boost。
似乎在函數上加上“權重”為1可以解決此問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.