gpt4 book ai didi

elasticsearch - 在Elasticsearch中,如何通过排名(第一,第二,第三…)字段的值来提高分数?

转载 作者:行者123 更新时间:2023-12-02 22:58:37 24 4
gpt4 key购买 nike

我在文档中有一个字段是排名:值越低,分数应该越高。首先是最好的,但是最后是最坏的。因此,排名1优于100万。

到目前为止,我已经可以使用score_query and field_value_factor来提高字段值本身,但是它给排名较高的文档带来了更高的提升。

"field_value_factor": {
"field": "rank",
"factor": 1.2,
"modifier": "sqrt",
"missing": 1
}

我应该使用其他修饰符吗?还是我要彻底解决这个问题?另外,我不想单独排序,因为我还有其他影响 _score的因素。

最佳答案

实际上,您实际上需要采用一个修饰函数来使rank值往复,即1 / rank,以便等级越高,will的值就越低,并且rank = 1的得分为1。唯一做到这一点的是reciprocal

"field_value_factor": {
"field": "rank",
"factor": 1.2,
"modifier": "reciprocal",
"missing": 1
}

关于elasticsearch - 在Elasticsearch中,如何通过排名(第一,第二,第三…)字段的值来提高分数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42307190/

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