首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Elastic search API中的search_after参数结束搜索结果

问使用Elastic search API中的search_after参数结束搜索结果
EN

Stack Overflow用户
提问于 2017-10-27 23:14:40
回答 2查看 341关注 0票数 6

对于查询中给定的日期范围,使用search_after参数,我能够成功地提取相关结果。如何判断我是否位于给定日期范围的搜索结果的末尾,而不必继续使用search_after参数进行查询。

EN

回答 2

Stack Overflow用户

发布于 2021-04-22 01:36:41

有一个非常酷的“技巧”,它不涉及任何额外的查询或对结果总数的了解:

假设你的页面大小是20,与其要求elasticsearch提供20个结果,不如要求它提供21个结果。

  • 如果你得到了21个结果,只使用前20个结果。但是现在您知道了,下一个查询至少还会有一个结果(如果对search_after参数使用第20个结果的sort值,而不是第21个!)。

  • 如果您得到20个或更少的结果,则不会有其他结果。

这期github给出了更多细节,解释为什么elasticsearch没有这个开箱即用的功能:https://github.com/elastic/elasticsearch/issues/22364

票数 2
EN

Stack Overflow用户

发布于 2019-05-14 09:28:17

您可以继续查询,直到它开始返回零个结果,或者返回总数,这样您就可以跟踪您已经检索到的总数,并在达到总数后停止搜索。(我两者兼而有之)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46978321

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档