Json `最低分数`不';Elasticsearch中的“rescore”不起作用
我希望删除分数小于Json `最低分数`不';Elasticsearch中的“rescore”不起作用,json,elasticsearch,min,Json,elasticsearch,Min,我希望删除分数小于1的所有文档,但以下查询不起作用: curl "http://localhost:9200/megacorp/_search" -d '{ "min_score": 1, "query": { "matchAll": {} }, "rescore": { "query": { "score_mode": "min", "rescore_query": { "match": {"first_name": "J
1
的所有文档,但以下查询不起作用:
curl "http://localhost:9200/megacorp/_search" -d '{
"min_score": 1,
"query": {
"matchAll": {}
},
"rescore": {
"query": {
"score_mode": "min",
"rescore_query": {
"match": {"first_name": "Jane"}
}
}
}
}'
看起来min\u分数
不适用于rescore
正确的方法是什么?我认为您混淆了
minu score
和rescore
的概念。两者的用途不同
min_分数
应用于初始查询。在您的情况下,它是match_all
查询,因此每个文档返回的分数都是1,此分数将根据min_分数
进行检查,而不管重新存储
做了什么
重新存储
用于影响返回文档(您的初始查询)的评分
。它不影响结果的计数,只影响结果的顺序。因此,即使“match”:{“first_name”:“Jane”}
得分小于1,它也会显示出来。类似地,如果使用score\u模式:total
且总分大于1,但如果原始查询的分数小于1,则不会显示在结果中
您可以使用来了解如何计算分数。最后,如果您想玩评分
,您可以查看或
我希望这能澄清疑问。我认为你混淆了
min\u分数
和rescore
的概念。两者的用途不同
min_分数
应用于初始查询。在您的情况下,它是match_all
查询,因此每个文档返回的分数都是1,此分数将根据min_分数
进行检查,而不管重新存储
做了什么
重新存储
用于影响返回文档(您的初始查询)的评分
。它不影响结果的计数,只影响结果的顺序。因此,即使“match”:{“first_name”:“Jane”}
得分小于1,它也会显示出来。类似地,如果使用score\u模式:total
且总分大于1,但如果原始查询的分数小于1,则不会显示在结果中
您可以使用来了解如何计算分数。最后,如果您想玩评分
,您可以查看或
我希望这能澄清疑问。@user这是
评分模式
@user这是评分模式
。感谢您的解释。你是说rescore
不受min\u分数设计的影响,对吗?如果是这样的话,有没有办法在重新存储后根据重新存储的分数删除不需要的结果?很高兴我能提供帮助。是的,您可以删除不需要的结果,但您必须遍历每个返回的文档,并检查其\u分数
,因为这将是重新存储查询后计算的分数。感谢您的快速响应。由于不必要的网络和计算成本,我不想从Elasticsearch中获取不需要的文档。有没有可能在Elasticsearch中过滤掉它们,而不是在应用程序中?我不知道这样的事情,我唯一能建议的是将您的重新存储查询放在主查询中,但我猜这不是您想要的。谢谢您的解释。你是说rescore
不受min\u分数设计的影响,对吗?如果是这样的话,有没有办法在重新存储后根据重新存储的分数删除不需要的结果?很高兴我能提供帮助。是的,您可以删除不需要的结果,但您必须遍历每个返回的文档,并检查其\u分数
,因为这将是重新存储查询后计算的分数。感谢您的快速响应。由于不必要的网络和计算成本,我不想从Elasticsearch中获取不需要的文档。有没有可能在Elasticsearch中过滤掉它们,而不是在应用程序中?我不知道这样的事情,我唯一能建议的是将您的重新存储查询放在主查询中,但我猜这不是您想要的。