J'essaie de récupérer des informations paginables à partir d'elasticsearch 5.4.0 en utilisant spring-boot-starter-data-elasticsearch 2.0.0.BUILD -SNAPSHOT qui utilise spring-data-elasticsearch 3.0.0.BUILD-SNAPSHOT, mais cela ne fonctionne pas comme prévu.Mauvaise pagination à l'aide de Spring Data ElasticSearch 3.0.0.BUILD-SNAPSHOT avec Elasticsearch 5.4.0
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());
Ce code retourne:
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']]
Même s'il y a 4 éléments au total, il n'y a qu'une seule page, et la taille est 0. Je l'ai essayé avec les anciennes versions stables du ressort des données -elasticsearch et elastic-search 1.x et 2.x et cela a bien fonctionné. Pour les besoins de l'exemple, j'ai modifié l'exemple de projet à partir du dépôt officiel de spring-boot. (https://github.com/spring-projects/spring-boot/tree/master/spring-boot-samples/spring-boot-sample-data-elasticsearch)