【发布时间】:2014-07-22 21:33:30
【问题描述】:
我是 ES 新手,需要存储实时数据流。这是基于时间戳的数据。
鉴于结果集将不断更新,任何人都可以建议支持分页的最佳方式吗?
我了解 Twitter 和 Facebook 等使用基于光标的分页。我想知道ES内部是否有类似的概念?
【问题讨论】:
我是 ES 新手,需要存储实时数据流。这是基于时间戳的数据。
鉴于结果集将不断更新,任何人都可以建议支持分页的最佳方式吗?
我了解 Twitter 和 Facebook 等使用基于光标的分页。我想知道ES内部是否有类似的概念?
【问题讨论】:
没有什么与光标完全相同,但您有几个选择。
向用户显示少量结果的最简单方法是使用from 参数进行分页。看
http://www.elasticsearch.org/guide/en/elasticsearch/guide/current/pagination.html
另一个选项是滚动: http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-request-scroll.html
或者您可以自己管理游标,使用时间戳作为游标,并将它们转换为查询条件。
【讨论】:
在 Es 中,您可以使用搜索类型 SCAN 并指定 SCROLL 来实现分页。但是,您将获得快照,这意味着您将获得运行查询时存在的结果。
【讨论】: