繁体   English   中英

了解Elasticsearch中的扫描和滚动

[英]Understanding Scan and Scroll in Elasticsearch

使用ES和AngularJS制作一个小型搜索应用程序。 我试图了解如何在ES中实现扫描和滚动功能以用于分页。

文档说要发出搜索请求,然后包含'search_type:scan'和'scroll'参数。

我只是将这些参数添加到我当前的搜索请求中,还是需要发出另一个搜索请求并指定请求作为扫描和滚动搜索请求?

作为文档解释,您需要使用第一次调用

GET /old_index/_search?search_type=scan&scroll=1m 
{
    "query": { "match_all": {}},
    "size":  1000
}

对此请求的响应不包括任何匹配(表示您搜索的内容),但滚动ID如下所示

{
    "_scroll_id" : "c2Nhbjs1OzMwNTYzMTkxNjpTSkM2S0cxVFJIeUk1NnZWbGFUV1FnOzMwNTYzMTkxNTpTSkM2S0cxVFJIeUk1NnZWbGFUV1FnOzMwNTYyMjEwNzp4OEkwZE54eVR0cXI4cHAzU2I5UmlBOzMwNTYzNTE0NjpQZEhCSUZXeFJZU3daaDJKZXZCRmh3OzMwNTY0OTg4OTphdEE1OTN2NFFsYVY5ZjJ4SUxuVFpROzE7dG90YWxfaGl0czoyOTIwOw==",
    "took" : 10,
    "timed_out" : false,
    "_shards" : {
        "total" : 5,
        "successful" : 5,
        "failed" : 0
    },
    "hits" : {
        "total" : 2920,
        "max_score" : 0,
        "hits" : []
    }
} 

在此之后,你可以使用正常的呼叫与scroll_id GET / _search /滚动?滚动=的1M _scroll_idc2Nhbjs1OzMwNTYzMTkxNjpTSkM2S0cxVFJIeUk1NnZWbGFUV1FnOzMwNTYzMTkxNTpTSkM2S0cxVFJIeUk1NnZWbGFUV1FnOzMwNTYyMjEwNzp4OEkwZE54eVR0cXI4cHAzU2I5UmlBOzMwNTYzNTE0NjpQZEhCSUZXeFJZU3daaDJKZXZCRmh3OzMwNTY0OTg4OTphdEE1OTN2NFFsYVY5ZjJ4SUxuVFpROzE7dG90YWxfaGl0czoyOTIwOw ==

_scroll_id可以在请求或正文中

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM