Spring boot ElasticsearchRestTemplate滚动获取下一页
im使用spring数据elasticsearch()进行搜索 这是我的pom.xmlSpring boot ElasticsearchRestTemplate滚动获取下一页,spring-boot,elasticsearch,spring-data-jpa,Spring Boot,elasticsearch,Spring Data Jpa,im使用spring数据elasticsearch()进行搜索 这是我的pom.xml <properties> <spring-data-elasticsearch.version>3.2.6</spring-data-elasticsearch.version> </properties> ... <!-- Elasticsearch --> <dependency>
<properties>
<spring-data-elasticsearch.version>3.2.6</spring-data-elasticsearch.version>
</properties>
...
<!-- Elasticsearch -->
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-elasticsearch</artifactId>
<version>${spring-data-elasticsearch.version}.RELEASE</version>
</dependency>
</properties>
3.2.6
...
org.springframework.data
弹簧数据弹性搜索
${spring data elasticsearch.version}.RELEASE
我有密码
private ElasticsearchRestTemplate template;
SearchQuery searchQuery = new NativeSearchQueryBuilder()
.withPageable(PageRequest.of(0, 2/*, Sort.Direction.ASC, "meta.time_created"*/))
.build();
Page<myData> scroll = this.template.startScroll(30000, searchQuery, myData.class);
while(scroll.hasNext()) {
LOGGER.info("Scroll!");
LOGGER.info(String.valueOf(scroll.getSize()));
System.out.println(scroll.nextPageable());
List<myData> l = scroll.getContent();
System.out.println(l.size());
Pageable p = scroll.nextPageable();
page++;
searchQuery = new NativeSearchQueryBuilder()
.withPageable(PageRequest.of(page, 2/*, Sort.Direction.ASC, "meta.time_created"*/))
.build();
scroll = this.template.startScroll(30000, searchQuery, myData.class);
}
私有ElasticsearchRestTemplate;
SearchQuery SearchQuery=new NativeSearchQueryBuilder()
.withPageable(PageRequest.of(0,2/*,Sort.Direction.ASC,“meta.time_created”*/)
.build();
Page scroll=this.template.startScroll(30000,searchQuery,myData.class);
while(scroll.hasNext()){
LOGGER.info(“滚动!”);
LOGGER.info(String.valueOf(scroll.getSize());
System.out.println(scroll.nextPageable());
List l=scroll.getContent();
System.out.println(l.size());
Pageable p=scroll.nextPageable();
page++;
searchQuery=new NativeSearchQueryBuilder()
.withPageable(PageRequest.of(第2页/*,Sort.Direction.ASC,“meta.time\u created”*/)
.build();
scroll=this.template.startScroll(30000,searchQuery,myData.class);
}
我无法检索卷轴中的下一页。卷轴在同一页码1上无限循环。如何移动此滚动条?代码中缺少调用。以下程序将为您提供所需的内容
private ElasticsearchRestTemplate template;
SearchQuery searchQuery = new NativeSearchQueryBuilder()
.withPageable(PageRequest.of(0, 2/*, Sort.Direction.ASC, "meta.time_created"*/))
.build();
ScrolledPage<myData> scroll = this.template.startScroll(30000, searchQuery, myData.class);
// First page
List<myData> l = scroll.getContent();
System.out.println(l.size());
while(scroll.hasNext()) {
// Advance the scroll to next page now
scroll = this.template.continueScroll(scroll.getScrollId(), 30000, myData.class);
LOGGER.info("Scroll!");
LOGGER.info(String.valueOf(scroll.getSize()));
System.out.println(scroll.nextPageable());
l = scroll.getContent();
System.out.println(l.size());
}
私有ElasticsearchRestTemplate;
SearchQuery SearchQuery=new NativeSearchQueryBuilder()
.withPageable(PageRequest.of(0,2/*,Sort.Direction.ASC,“meta.time_created”*/)
.build();
ScrolledPage scroll=this.template.startScroll(30000,searchQuery,myData.class);
//首页
List l=scroll.getContent();
System.out.println(l.size());
while(scroll.hasNext()){
//现在滚动到下一页
scroll=this.template.continueScroll(scroll.getScrollId(),30000,myData.class);
LOGGER.info(“滚动!”);
LOGGER.info(String.valueOf(scroll.getSize());
System.out.println(scroll.nextPageable());
l=scroll.getContent();
System.out.println(l.size());
}
希望这有帮助 代码中缺少调用。以下程序将为您提供所需的内容
private ElasticsearchRestTemplate template;
SearchQuery searchQuery = new NativeSearchQueryBuilder()
.withPageable(PageRequest.of(0, 2/*, Sort.Direction.ASC, "meta.time_created"*/))
.build();
ScrolledPage<myData> scroll = this.template.startScroll(30000, searchQuery, myData.class);
// First page
List<myData> l = scroll.getContent();
System.out.println(l.size());
while(scroll.hasNext()) {
// Advance the scroll to next page now
scroll = this.template.continueScroll(scroll.getScrollId(), 30000, myData.class);
LOGGER.info("Scroll!");
LOGGER.info(String.valueOf(scroll.getSize()));
System.out.println(scroll.nextPageable());
l = scroll.getContent();
System.out.println(l.size());
}
私有ElasticsearchRestTemplate;
SearchQuery SearchQuery=new NativeSearchQueryBuilder()
.withPageable(PageRequest.of(0,2/*,Sort.Direction.ASC,“meta.time_created”*/)
.build();
ScrolledPage scroll=this.template.startScroll(30000,searchQuery,myData.class);
//首页
List l=scroll.getContent();
System.out.println(l.size());
while(scroll.hasNext()){
//现在滚动到下一页
scroll=this.template.continueScroll(scroll.getScrollId(),30000,myData.class);
LOGGER.info(“滚动!”);
LOGGER.info(String.valueOf(scroll.getSize());
System.out.println(scroll.nextPageable());
l=scroll.getContent();
System.out.println(l.size());
}
希望这有帮助