【问题标题】:Elasticsearch scroll previous like APIElasticsearch 滚动以前的 API
【发布时间】:2019-02-19 09:19:38
【问题描述】:

我不断生成时间序列数据,并将其放入弹性搜索中。要求之一是获取带有分页的记录。但是,即使在下一页上,我也想要查询时的记录。

elasticsearch 的 From & Size API 或 search_after API 不维护快照并返回最新数据。 Scroll API 没有办法返回。

我怎样才能满足我的要求,没有新数据的分页和下一个和上一个选项?

【问题讨论】:

    标签: elasticsearch scroll pagination


    【解决方案1】:

    这真的取决于具体的用例 - 用户会使用第一页,仅此而已,还是您打算扫描整个响应数据集?

    如果您希望浏览和扫描所有数据或大量页面,那么您需要使用 Scroll API,因为分页机制对于遍历大型数据集不是那么健壮(默认情况下它会在 10000 左右中断) )。

    确实滚动不支持'page back',但这是使用需要的问题。您是否打算只扫描所有数据,或者在您希望人们点击“返回页面”的地方提供简单的分页?如果情况是人类查看页面,那么我认为不会达到分页大小限制,最好使用分页而不是滚动。

    如果您选择分页,为了获得“没有新数据的分页”,您可以将时间范围过滤器添加到查询中,并修复从 & 到时间戳。这样结果应该是一致的(而不是使用 now())

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-12
      • 1970-01-01
      • 2021-02-19
      • 2013-05-15
      • 2016-07-02
      • 1970-01-01
      相关资源
      最近更新 更多