使用游标查询

首先请阅读 游标查询 文档。

import static org.elasticsearch.index.query.QueryBuilders.*;

QueryBuilder qb = termQuery("multi", "test");

SearchResponse scrollResp = client.prepareSearch(test)
        .addSort(FieldSortBuilder.DOC_FIELD_NAME, SortOrder.ASC)
        .setScroll(new TimeValue(60000))
        .setQuery(qb)
        .setSize(100).get(); //每次查询最多返回100条结果
//没有结果返回的时候就停止循环
do {
    for (SearchHit hit : scrollResp.getHits().getHits()) {
        //处理返回结果
    }

    scrollResp = client.prepareSearchScroll(scrollResp.getScrollId()).setScroll(new TimeValue(60000)).execute().actionGet();
} while(scrollResp.getHits().getHits().length != 0); // 没有返回结果的时候就停止循环和游标