gpt4 book ai didi

elasticsearch - 如果doc [‘someField’] .value == “some”,则得分+30

转载 作者:行者123 更新时间:2023-12-03 01:36:55 25 4
gpt4 key购买 nike

我有文件:

{
"_id": 111,
"price": 1000,
"color": "red",
}

我使用带有高斯函数的function_score来按价格获取得分。
现在,如果颜色==“绿色”,我需要添加30分。最好不使用groovy脚本。
但是,如果颜色!=“绿色”,那么即使没有这些额外的30分得分,仍然可以获得此文档的结果。
有朝哪个方向看的想法?

谢谢

最佳答案

您可以使用Constant Score对与该查询匹配的文档给出固定分数,并将其放在should子句下,因此这不是强制性的。

例如:

{
"query": {
"bool": {
"should": [
{
"function_score": {
"functions": [
{
"gauss": {
"price": {
"origin": "100",
"scale": "10"
}
}
}
]
}
},
{
"constant_score": {
"filter": {
"match": {
"color": {
"value": "red"
}
}
},
"boost": 30
}
}
]
}
}
}

关于elasticsearch - 如果doc [‘someField’] .value == “some”,则得分+30,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51747363/

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