我正在尝试使用当前的 spring-boot-starter-data-elasticsearch 2.0.0.BUILD-SNAPSHOT 从 elasticsearch 5.4.0 检索可分页信息,该信息使用 spring-data-elasticsearch 3.0.0.BUILD-SNAPSHOT,但它没有按预期工作。
Page<Customer> page = this.repository.findByLastName("Smith", PageRequest.of(0, 1));
System.out.println("page = " + page);
System.out.println("page.getSize() = " + page.getSize());
System.out.println("page.getTotalPages() = " + page.getTotalPages());
System.out.println("page.getTotalElements() = " + page.getTotalElements());
System.out.println("page.getNumber() = " + page.getNumber());
System.out.println("page.getNumberOfElements() = " + page.getNumberOfElements());
System.out.println("page.nextPageable().isUnpaged() = " + page.nextPageable().isUnpaged());
System.out.println("page.getContent() = " + page.getContent());
此代码返回:
page = Page 1 of 1 containing sample.data.elasticsearch.Customer instances
page.getSize() = 0
page.getTotalPages() = 1
page.getTotalElements() = 4
page.getNumber() = 0
page.getNumberOfElements() = 1
page.nextPageable().isUnpaged() = true
page.getContent() = [Customer[id=AV304Kn3zw7_0HN9017l, firstName='Alice', lastName='Smith']]
即使总共有 4 个元素,也只有一个页面,大小为 0。我已经在spring-data-elasticsearch和elastic-search 1.x和2.x的旧稳定版本中尝试过它,效果很好。
出于示例的目的,我修改了官方 spring-boot 存储库中的示例项目。(https://github.com/spring-projects/spring-boot/tree/master/spring-boot-samples/spring-boot-sample-data-elasticsearch(
看来你和我们有同样的问题。 我在Spring Data Elasticsearch Jira DATAES-402上找到了解释。不幸的是,在 3.0.2 版本中,该错误仍然存在。