@@ -555,18 +555,20 @@ public void shouldReturnResultsWithScanAndScroll() {
555
555
indexQuery2 .setObject (sampleEntity2 );
556
556
557
557
indexQueries .add (indexQuery2 );
558
+
559
+ List <IndexQuery > entities = createSampleEntitiesWithMessage ("Test message" , 30 );
558
560
// when
559
- elasticsearchTemplate .bulkIndex (indexQueries );
561
+ elasticsearchTemplate .bulkIndex (entities );
560
562
elasticsearchTemplate .refresh (SampleEntity .class , true );
561
563
// then
562
564
563
565
SearchQuery searchQuery = new NativeSearchQueryBuilder ().withQuery (matchAllQuery ()).withIndices ("test-index" )
564
- .withTypes ("test-type" ).withPageable (new PageRequest (0 , 1 )).build ();
566
+ .withTypes ("test-type" ).withPageable (new PageRequest (0 , 10 )).build ();
565
567
566
568
String scrollId = elasticsearchTemplate .scan (searchQuery , 1000 , false );
567
569
List <SampleEntity > sampleEntities = new ArrayList <SampleEntity >();
568
570
boolean hasRecords = true ;
569
- while (hasRecords ) {
571
+ while (hasRecords ) {
570
572
Page <SampleEntity > page = elasticsearchTemplate .scroll (scrollId , 5000L , new ResultsMapper <SampleEntity >() {
571
573
@ Override
572
574
public Page <SampleEntity > mapResults (SearchResponse response ) {
@@ -580,21 +582,45 @@ public Page<SampleEntity> mapResults(SearchResponse response) {
580
582
user .setMessage ((String ) searchHit .getSource ().get ("message" ));
581
583
chunk .add (user );
582
584
}
583
- return new PageImpl <SampleEntity >(chunk );
585
+ if (chunk .size () > 0 ){
586
+
587
+ return new PageImpl <SampleEntity >(chunk );
588
+ }
589
+ return null ;
584
590
}
585
591
586
592
});
587
593
if (page != null ) {
588
594
sampleEntities .addAll (page .getContent ());
589
- hasRecords = page .hasNextPage ();
590
- } else {
591
- hasRecords = false ;
592
- }
595
+ } else {
596
+ hasRecords = false ;
597
+ }
593
598
594
599
}
595
- assertThat (sampleEntities .size (), is (equalTo (2 )));
600
+ assertThat (sampleEntities .size (), is (equalTo (30 )));
596
601
}
597
602
603
+ private static List <IndexQuery > createSampleEntitiesWithMessage (String message , int numberOfEntities ) {
604
+ List <SampleEntity > sampleEntities = new ArrayList <SampleEntity >();
605
+ List <IndexQuery > indexQueries = new ArrayList <IndexQuery >();
606
+ for (int i = 0 ; i < numberOfEntities ; i ++) {
607
+ String documentId = randomNumeric (5 );
608
+ SampleEntity sampleEntity = new SampleEntity ();
609
+ sampleEntity .setId (documentId );
610
+ sampleEntity .setMessage (message );
611
+ sampleEntity .setRate (2 );
612
+ sampleEntity .setVersion (System .currentTimeMillis ());
613
+ IndexQuery indexQuery2 = new IndexQuery ();
614
+ indexQuery2 .setId (documentId );
615
+ indexQuery2 .setObject (sampleEntity );
616
+
617
+ indexQueries .add (indexQuery2 );
618
+ sampleEntities .add (sampleEntity );
619
+
620
+ }
621
+ return indexQueries ;
622
+ }
623
+
598
624
@ Test
599
625
public void shouldReturnListForGivenCriteria () {
600
626
// given
0 commit comments