我是弹性研究的新手,并试图应用在facebook,twitter中看到的光标paginatoin为我的api。
有没有办法应用那个抛出过滤器,聚合我已经尝试了几个查询但问题是我可以保留文档的顺序,任何帮助都会受到赞赏吗?
答案 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>
}
由于性能限制,应避免使用大小和专有性。
答案 1 :(得分:1)
{
"from" : 0, "size" : 10,
"query" : {
"term" : { "user" : "kimchy" }
}
}