scroll查询方式主要用于进行大数据的遍历,类似于数据库的游标,遍历速度要明显快于分页方式。
scroll查询需要指定查询条件,当前scroll的打开时间(只有当前scroll为打开状态,才能获取到值),每个primary分片返回的文档数
QueryBuilder qb = termQuery("multi", "test");//scroll的查询条件
SearchResponse scrollResp = client.prepareSearch(test) //指定查询的索引
.setSearchType(SearchType.SCAN) //检索方式设置为scan
.setScroll(new TimeValue(60000)) //当前scroll的打开时间,该参数必须在每一个scroll请求中指定
.setQuery(qb)
.setSize(100) //每个primary分片返回的文档数
.execute().actionGet(); //100 hits per shard will be