我是 elasticasearch 的新手,正在尝试应用在 facebook 和 twitter 上看到的光标 paginatoin 作为我的 api。
有没有一种方法可以应用抛出过滤器和聚合我已经尝试了几个查询但是我可以保留文档顺序的问题,我们将不胜感激?
最佳答案
光标分页背后的想法是用作指针。
在 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>
}
由于性能限制,您应该避免使用 size 和 from proprieties。
关于php - 在 elasticaserch 中应用游标分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29076107/