首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用search_after进行分页时按_doc进行的Elasticsearch排序不会保持顺序

使用search_after进行分页时按_doc进行的Elasticsearch排序不会保持顺序
EN

Stack Overflow用户
提问于 2017-12-21 20:18:32
回答 2查看 858关注 0票数 2

我需要给ES打个分页搜索电话。我使用_doc作为排序关键字,使用search_after获取下一页,因为我不关心排序,只要它在每次搜索时都是一致的。但是,我发现在每个搜索请求中,返回的对象都是以不同的顺序排序的。在分页的情况下,这实际上会导致问题,因为当调用获取下一页时,我经常看到与上一页相同的文档。

我是不是误解了应该如何使用_doc?如果我想要一致的排序,我还有什么其他的选择。

我正在使用ES 5.5

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-05-14 09:38:51

当前文档建议使用每个文档一个唯一值的字段作为决胜局,这应该与另一个启用了DOCK值的字段中的_id字段重复。

请参阅此处的search_after文档,特别是第一个注释:https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-search-after.html

票数 2
EN

Stack Overflow用户

发布于 2018-11-15 16:15:35

您可以使用_uid进行排序,但是使用_uid进行排序在内存使用方面是一个开销很大的操作。请检查此https://github.com/elastic/kibana/issues/11925

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

https://stackoverflow.com/questions/47924856

复制
相关文章

相似问题

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