CountRequest countRequest = new CountRequest();
countRequest.types("类型,按照版本进行使用");
countRequest.indices("索引");
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
countRequest.source(searchSourceBuilder);
CountResponse countResponse = restHighLevelClient.count(countRequest,RequestOptions.DEFAULT);
long count = countResponse.getCount();
throw new RumtimeException("下载数量不允许超过50W");
searchSourceBuilder.size(10000);
SearchRequest searchRequest = new SearchRequest("索引").types("类型,按版本判断是否使用");
searchRequest.source(searchSourceBuilder);
Scroll scroll = new Scroll(TimeValue.timeValueMinutes(5L));
searchRequest.scroll(scroll);
SearchResponse searchResponse = restHighLevelClient.search(request, RequestOptions.DEFAULT);
String scrollId = searchResponse.getScrollId();
SearchHit[] searchHits = searchResponse.getHits().getHits();
List searchHitList = new ArrayList<>(Arrays.asList(searchHits));
if (searchHits.length == 0) {
SearchScrollRequest scrollRequest = new SearchScrollRequest(scrollId);
scrollRequest.scroll(scroll);
searchResponse = restHighLevelClient.scroll(searchScrollRequest, RequestOptions.DEFAULT);
scrollId = searchResponse.getScrollId();
searchHits = searchResponse.getHits().getHits();
searchHitList.addAll(Arrays.asList(searchHits));
ClearScrollRequest clearScrollRequest = new ClearScrollRequest();
clearScrollRequest.addScrollId(scrollId);
restHighLevelClient.clearScroll(clearScrollRequest,RequestOptions.DEFAULT);
