【发布时间】:2017-08-23 01:13:38
【问题描述】:
我正在尝试使用 jest 客户端获取超过 10000 个文档。
我使用了滚动功能并使用了 50 的查询大小,但我的程序进入了无限循环,并且每次迭代都返回相同的 50 个文档结果。
我想这是我没有通过的滚动 ID 的问题,可以提供一些帮助。
【问题讨论】:
标签: elasticsearch
我正在尝试使用 jest 客户端获取超过 10000 个文档。
我使用了滚动功能并使用了 50 的查询大小,但我的程序进入了无限循环,并且每次迭代都返回相同的 50 个文档结果。
我想这是我没有通过的滚动 ID 的问题,可以提供一些帮助。
【问题讨论】:
标签: elasticsearch
下面是检索前 50 条记录的调用:
POST <host_name>:<port_num>/<index_name>/_search?scroll=1m&size=50
如上图,大小为50,scroll为1m,表示scroll api每次点击会检索50条记录,此scroll可用1分钟。此外,此 api 返回一个滚动 ID,应用于进一步检索记录。请在下面找到示例:
POST <host_name>:<port_num>/_search?scroll=1m&scroll_id=<scroll_id>
注意:对于进一步的滚动 api 调用,不需要提及索引名称。只有scroll_id和滚动时间就足够了。
更多信息请参考scroll api上的弹性搜索文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-scroll.html
【讨论】: