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
java操作es(elasticsearch)使用scroll取出全部数据
最新推荐文章于 2023-12-28 12:57:54 发布
本文详细介绍了如何使用Java API配合Scroll API从Elasticsearch中分批取出所有数据,包括设置Scroll参数、执行查询及迭代数据等步骤,适用于大数据量检索场景。
最低0.47元/天 解锁文章
1766

被折叠的 条评论
为什么被折叠?



