【发布时间】:2017-01-27 08:01:13
【问题描述】:
我必须从弹性搜索中查询记录,并在页面大小为 1000 的网格中显示它们。我的索引可以包含超过 100 万条记录。
由于 index.max_result_window 的限制为 10,000,我不再能够使用 from + size 查询进行分页。由于性能原因,我不想增加此限制。
我正在使用滚动 api 进行分页和循环记录以显示所需的页面。例如如果有人请求第 9 页,我会滚动 9 次。
它适用于初始页面,但您可以想象转到最后一页非常慢。
我不是弹性搜索方面的专家,有什么改进的建议吗?
提前致谢
编辑 21/09/2016
版本:Elasticsearch 2.4.0
滚动示例:https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-scroll.html
滚动大小:1000
因此,如果我有 10,00,000 条记录才能到达最后一页,我必须滚动 1000 次。
此外,用户还可以选择返回,滚动不支持。所以我必须从头开始滚动。
我认为应该有更好的方法来做到这一点。
【问题讨论】:
-
您使用的是哪个版本的 ES ?你能分享你的滚动查询吗?
-
现在包含在描述中
标签: elasticsearch paging