// 获取currentPageNo的数据,从Scroll快照拿数据,首页数据已经拿到, for (int i = 2; i <= currentPageNo; i++) { // 从第二页开始,使用上次搜索结果的ScrollId,从Scroll快照拿数据 searchResponse = client .prepareSearchScroll(searchResponse.getScrollId()) .setScroll(new TimeValue(5000)) .execute(...
// 执行SearchSearchResponseresponse=client.search(request,RequestOptions.DEFAULT); 1. 2. 执行搜索请求,并获取SearchResponse对象。 | 5 | 获取ScrollId | // 获取ScrollIdStringscrollId=response.getScrollId(); 1. 2. 从SearchResponse中获取ScrollId。 | 6 | 循环获取Scroll结果 | // 循环获取Scroll结果...
后续在使用第一步生成的scrollId进行滚动查询。 POST /_search/scroll { "scroll": "5m", "scroll_id": "DXF1ZXJ5QW5kRmV0Y2gBAAAAAAAylJEWQ3Z4cHRTRzVTeXVqRG9YY1R5Q3hYdw==" } 2.2 scroll的RestHighLevelClient实现 publicstaticvoidtestScroll()throws IOException{SearchRequest searchRequest=newSearchR...
es为了性能,会限制我们分页的深度,es目前支持最大的max_result_window = 10000,也就是from+size的大小不能超过10000。在es中我们分页要请求大数据集或者一次请求要获取大的数据集,scroll [skrəʊl] 都是一种非常好的解决方案。scroll也是滚动搜索。会在第一次搜索的时候,保存一个当时...
clearScrollRequest.addScrollId(scrollId);//也可以选择setScrollIds()将多个scrollId一起使用ClearScrollResponse clearScrollResponse=null;try{ clearScrollResponse=restHighLevelClient.clearScroll(clearScrollRequest,RequestOptions.DEFAULT); }catch(IOExceptione){ ...
query(boolQueryBuilder);//order by createTime 排序设置sourceBuilder.sort("createTime",SortOrder.DESC);// limit 0,100 分页sourceBuilder.from(0).size(100);// 指定索引名称SearchRequestrequest=newSearchRequest("idx_group_send_message");request.source(sourceBuilder);//client 为 RestHighLevelClient...
.scroll(scroll);SearchResponsesearchResponse=null;try{searchResponse=restHighLevelClient.search(searchRequest,RequestOptions.DEFAULT);}catch(IOExceptione){log.error("查询索引库失败",e.getMessage(),e);}SearchHitshits=searchResponse.getHits();//记录要滚动的IDStringscrollId=searchResponse.getScrollId();...
要求如下: 1、使用 elasticsearch-rest-high-level-client-7.7.0中的 org.elasticsearch.client.RestHighLevelClient 这个类作为client 2、日志比较大,使用 scroll 循环查询,每次查询100条 以下是一个 Java 代码示例,用于查询 Elasticsearch 中的索引 index1,包含字段 keyword1、keyword2,日期是 date1 的所有内容,并...
在过期时间内,之后的查询的scroll_id是不变的. 四. 基于java代码: RestClient lowClient = RestClient.builder(newHttpHost("主机",端口)) .setMaxRetryTimeoutMillis(300000).build(); RestHighLevelClient client=newRestHighLevelClient(lowClient); ...
packagecom.example.demo.config;importorg.apache.http.HttpHost;importorg.elasticsearch.client.RestClient;importorg.elasticsearch.client.RestHighLevelClient;importorg.springframework.context.annotation.Bean;importorg.springframework.context.annotation.Configuration;@ConfigurationpublicclassElasticSearchClientConfig{@Bean...