gpt4 book ai didi

groovy - Elasticsearch : _score always 0 in Groovy script

转载 作者:行者123 更新时间:2023-11-29 02:52:27 24 4
gpt4 key购买 nike

我有这种 Groovy 脚本:

def multiplier = doc['data'].value
if (multiplier <= 0) {
multiplier = 1
}
multiplier * _score

我将它用作 script_score,我的分数始终为 0。似乎 _score 始终为 0。使用 mvel 脚本,它可以工作。

mvel 脚本是:

_score * doc['data'].value

查询是(mvel 版本只有 lang 变化):

"function_score": {
query: {
"bool": {
"should": [
// many matches...
],
"minimum_should_match": 1,
},
},
"script_score": {
"lang": "groovy",
"file": "my_script",
},
"boost": 2.5,
"score_mode": "max",
}

我做错了什么吗?我在 Elasticsearch 1.5.2 上对此进行了测试。

最佳答案

我对此没有很好的解释,但是这个查询在 Groovy 中对我有用(必须在脚本中启用日志记录以查看 _score 包含的内容):

multiplier * _score.score()

关于groovy - Elasticsearch : _score always 0 in Groovy script,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30780054/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com