public void scrollDemo() {
//transportClient配置自行处理,此处不做演示
SearchResponse scrollResp = transportClient.prepareSearch("order_stage")//指定index
.setTypes("order")//指定type
//.addSort(FieldSortBuilder.DOC_FIELD_NAME, SortOrder.ASC)//指定排序
//.setQuery(QueryBuilders.termQuery("user","张三"))//指定搜索条件
.setScroll(TimeValue.timeValueSeconds(30)) //每次查询所需的时间,超时自动释放scroll,根据具体业务场景设置,scroll长时间不释放会占用内存影响效率,不要设置太大
.setSize(1000).get(); //每次查询的数量
do {
for (SearchHit hit : scrollResp.getHits().getHits()) {
//业务处理逻辑
}
scrollResp = transportClient.prepareSearchScroll(scrollResp.getScrollId()).setScroll(TimeValue.timeValueSeconds(30)).execute().actionGet();
} while (scrollResp.getHits().getHits().length != 0); // Zero hits mark the end of the s