現在のspring-boot-start-data-elasticsearch 2.0.0.BUILDを使用して、elasticsearch 5.4.0からページング可能な情報を取得しようとしています。 -SNAPSHOTはspring-data-elasticsearch 3.0.0.BUILD-SNAPSHOTを使用しますが、期待どおりに動作しません。Springデータを使用した間違ったページ設定ElasticSearch 3.0.0.BUILD-SNAPSHOT with 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());
このコードを返す:
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つの合計要素がある場合でも、そこに1ページのみであり、サイズは私がばねデータの古い安定したバージョンでそれを試してみた0です。 - 弾性検索と1.xと2.xの弾性検索はうまくいきました。
サンプルプロジェクトを公式のスプリングブートリポジトリから修正しました。 (https://github.com/spring-projects/spring-boot/tree/master/spring-boot-samples/spring-boot-sample-data-elasticsearch)