search
请求返回一个单一的结果“页”,而 scroll
API 可以被用来检索大量的结果(甚至所有的结果),就像在传统数据库中使用的游标 cursor。
滚动并不是为了实时的用户响应,而是为了处理大量的数据,例如,为了使用不同的配置来重新索引一个 index 到另一个 index 中去。
client 支持:Perl 和 Python
注意:从 scroll 请求返回的结果反映了 search
发生时刻的索引状态,就像一个快照。后续的对文档的改动(索引、更新或者删除)都只会影响后面的搜索请求。
为了使用 scroll,初始搜索请求应该在查询中指定 scroll
参数,这可以告诉 Elasticsearch 需要保持搜索的上下文环境多久(参考Keeping the search context alive),如 ?scroll=1m
。
POST /twitter/tweet/_search?scroll=1m
{
"query": {
"match" : {
"title" : &#