gpt4 book ai didi

elasticsearch - 按分数排序时在Elasticsearch中搜索之后(分页)

转载 作者:行者123 更新时间:2023-12-03 01:22:41 26 4
gpt4 key购买 nike

elasticsearch中的after after search必须在数量和顺序上匹配其排序参数。所以我想知道如何从上一个结果(例如第1页)中获得分数,以将其用作下一页的搜索。
在上一次搜索中使用最后一个文档的分数时,我遇到了一个问题。得分为1.0,并且由于所有文档的得分均为1.0,因此下一页的结果为空(空)。

这实际上是有道理的,因为我要向Elasticsearch查询结果(其得分(分数)低于1.0,即零),因此我要使用哪个得分来获取下一页。

注意:
我先按分数排序,然后按TieBreakerID排序,所以一种可能的解决方案是对分数使用高值(例如1000)。

最佳答案

您正在做的事情听起来应该像explained by an Elastic team member一样正常。即使将文档ID(复制到另一个索引字段中)用作抢七游戏,它也对我有效(在ES 7.7中),即使得分很平。的确,在分页时索引其他文档会使您的分数稍微不稳定,但不足以对最终用户造成严重的问题。如果您需要可靠的批处理作业,则Scroll API是更好的选择。

{
"query": {
...
},
"search_after": [
12.276552,
14173
],
"sort": [
{ "_score": "desc" },
{ "id": "asc" }
]
}

关于elasticsearch - 按分数排序时在Elasticsearch中搜索之后(分页),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59521891/

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