我想要做的就是根据这个公式重新评分我的查询,
NEW SCORE = OLD SCORE / max(OLD SCORES)+ doc.value [' custom'] / max(doc.value [' custom'])
这可能吗?我可以使用以下代码重新编写
{
"query": {
"function_score": {
"query": {}
, "script_score": {
"script": "_score * doc['custom'].value"
}
}
}
}
此外,如果有人能告诉如何在另一个脚本中使用一个脚本的值,那就太好了。
答案 0 :(得分:0)
不确定它是否符合你的需要,但也许你可以使用一些展平应用程序,你可以强制最大分数为1,假设你可以找到一个得分值(score_thresh)高于无论如何结果都很好,您的字段doc.value['custom']
将执行排名工作。
一种方法,例如:
1 / (score_thresh - min(_score, score_thresh - 1))
可以做到这一点,但你的得分曲线有点苛刻。它对我有用,因为我想从old_score中选择的是选择文档,一个负责排名的rescore查询。