在 elasticaserch 中应用游标分页

Applying Cursors pagination in elasticaserch

我是 elasticasearch 的新手,正在尝试为我的 api.

应用在 facebook 和 twitter 中看到的光标 paginatoin

有没有办法应用抛出过滤器和聚合我已经尝试了几个查询但是我可以保留文档顺序的问题,任何帮助将不胜感激?

您可以通过 from and size parameters:

分页
{
    "from" : 0, "size" : 10,
    "query" : {
        "term" : { "user" : "kimchy" }
    }
}

光标分页背后的想法是用作指针。

在 ElasticSearch 中,您有 _search 方法,您可以在其中使用滚动属性。此方法将根据大小对文档进行分组。

GET /<index>/_search?scroll=<ttl, example: 1m>
{
  "query": {
    <parameters>
  },
  "size": <integer, example: 1000>,
}

对于下一个文档片段,您将使用 _search 方法,但仅限于滚动和 scroll_id 礼仪。在内部,ES 将只 return 下一个文档片段而不重新计算文档。

GET /_search/scroll
{
  "scroll": <ttl, example: 1m>,
  "scroll_id": <scroll_id hash>
}

由于性能限制,您应该避免使用 size 和 from proprieties。

看看:https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-body.html#request-body-search-scroll