在弹力激光器中应用游标分页

时间:2015-03-16 11:52:06

标签: php elasticsearch lucene elastica

我是弹性研究的新手,并试图应用在facebook,twitter中看到的光标paginatoin为我的api。

有没有办法应用那个抛出过滤器,聚合我已经尝试了几个查询但问题是我可以保留文档的顺序,任何帮助都会受到赞赏吗?

2 个答案:

答案 0 :(得分:2)

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

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

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

对于下一部分文档,您将使用_search方法,但只能使用scroll和scroll_id属性。在内部,ES仅返回下一部分文档,而无需再次重新计算文档。

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

由于性能限制,应避免使用大小和专有性。

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

答案 1 :(得分:1)

您可以对from and size parameters

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