22
33import com .google .common .collect .ImmutableMap ;
44import com .google .common .collect .Lists ;
5+ import org .elasticsearch .search .sort .FieldSortBuilder ;
56import org .junit .AfterClass ;
67import org .junit .Before ;
78import org .junit .BeforeClass ;
89import org .junit .Test ;
910import pl .allegro .tech .search .elasticsearch .tools .reindex .connection .ElasticDataPointer ;
11+ import pl .allegro .tech .search .elasticsearch .tools .reindex .connection .ElasticSearchQuery ;
1012import pl .allegro .tech .search .elasticsearch .tools .reindex .embeded .EmbeddedElasticsearchCluster ;
1113import pl .allegro .tech .search .elasticsearch .tools .reindex .embeded .IndexDocument ;
1214import pl .allegro .tech .search .elasticsearch .tools .reindex .query .DoubleFieldSegmentation ;
@@ -52,8 +54,9 @@ public void indexingWithoutSegmentingEmpty() throws Exception {
5254 embeddedElasticsearchCluster .recreateIndex (SOURCE_INDEX );
5355 ElasticDataPointer sourceDataPointer = embeddedElasticsearchCluster .createDataPointer (SOURCE_INDEX );
5456 ElasticDataPointer targetDataPointer = embeddedElasticsearchCluster .createDataPointer (TARGET_INDEX );
57+ ElasticSearchQuery elasticSearchQuery = embeddedElasticsearchCluster .createInitialQuery ("" );
5558 //when
56- ReindexInvoker .invokeReindexing (sourceDataPointer , targetDataPointer , EmptySegmentation .createEmptySegmentation ());
59+ ReindexInvoker .invokeReindexing (sourceDataPointer , targetDataPointer , EmptySegmentation .createEmptySegmentation (), elasticSearchQuery );
5760 //then
5861 assertFalse (embeddedElasticsearchCluster .indexExist (TARGET_INDEX ));
5962 }
@@ -64,9 +67,10 @@ public void indexingWithSegmentingEmpty() throws Exception {
6467 embeddedElasticsearchCluster .recreateIndex (SOURCE_INDEX );
6568 ElasticDataPointer sourceDataPointer = embeddedElasticsearchCluster .createDataPointer (SOURCE_INDEX );
6669 ElasticDataPointer targetDataPointer = embeddedElasticsearchCluster .createDataPointer (TARGET_INDEX );
70+ ElasticSearchQuery elasticSearchQuery = embeddedElasticsearchCluster .createInitialQuery ("" );
6771 //when
6872 ReindexInvoker .invokeReindexing (sourceDataPointer , targetDataPointer , DoubleFieldSegmentation .create ("fieldName" ,
69- Lists .newArrayList (1.0 , 3.0 )));
73+ Lists .newArrayList (1.0 , 3.0 )), elasticSearchQuery );
7074 //then
7175 assertFalse (embeddedElasticsearchCluster .indexExist (TARGET_INDEX ));
7276 }
@@ -77,8 +81,10 @@ public void indexingWithoutSegmenting() throws Exception {
7781 indexWithSampleData ();
7882 ElasticDataPointer sourceDataPointer = embeddedElasticsearchCluster .createDataPointer (SOURCE_INDEX );
7983 ElasticDataPointer targetDataPointer = embeddedElasticsearchCluster .createDataPointer (TARGET_INDEX );
84+ ElasticSearchQuery elasticSearchQuery = embeddedElasticsearchCluster .createInitialQuery ("" );
8085 //when
81- ReindexingSummary reindexingSummary = ReindexInvoker .invokeReindexing (sourceDataPointer , targetDataPointer , EmptySegmentation .createEmptySegmentation ());
86+ ReindexingSummary reindexingSummary = ReindexInvoker .invokeReindexing (sourceDataPointer , targetDataPointer ,
87+ EmptySegmentation .createEmptySegmentation (), elasticSearchQuery );
8288 //then
8389 assertEquals (9L , embeddedElasticsearchCluster .count (TARGET_INDEX ));
8490 assertThat (reindexingSummary )
@@ -94,9 +100,10 @@ public void indexingWithSegmentingByDoubleField() throws Exception {
94100 indexWithSampleData ();
95101 ElasticDataPointer sourceDataPointer = embeddedElasticsearchCluster .createDataPointer (SOURCE_INDEX );
96102 ElasticDataPointer targetDataPointer = embeddedElasticsearchCluster .createDataPointer (TARGET_INDEX );
103+ ElasticSearchQuery elasticSearchQuery = embeddedElasticsearchCluster .createInitialQuery ("" );
97104 //when
98105 ReindexingSummary reindexingSummary = ReindexInvoker .invokeReindexing (sourceDataPointer , targetDataPointer , DoubleFieldSegmentation .create ("fieldName" ,
99- Lists .newArrayList (1.0 , 3.0 , 7.0 )));
106+ Lists .newArrayList (1.0 , 3.0 , 7.0 )), elasticSearchQuery );
100107 //then
101108 assertEquals (6L , embeddedElasticsearchCluster .count (TARGET_INDEX ));
102109 assertThat (reindexingSummary )
@@ -111,9 +118,10 @@ public void indexingWithSegmentingByPrefixOnStringField() throws Exception {
111118 indexWithSampleData ();
112119 ElasticDataPointer sourceDataPointer = embeddedElasticsearchCluster .createDataPointer (SOURCE_INDEX );
113120 ElasticDataPointer targetDataPointer = embeddedElasticsearchCluster .createDataPointer (TARGET_INDEX );
121+ ElasticSearchQuery elasticSearchQuery = embeddedElasticsearchCluster .createInitialQuery ("" );
114122 //when
115123 ReindexingSummary reindexingSummary = ReindexInvoker .invokeReindexing (sourceDataPointer , targetDataPointer , StringPrefixSegmentation .create ("fieldName" ,
116- Lists .newArrayList ("1" , "2" , "3" , "4" )));
124+ Lists .newArrayList ("1" , "2" , "3" , "4" )), elasticSearchQuery );
117125 //then
118126 assertEquals (4L , embeddedElasticsearchCluster .count (TARGET_INDEX ));
119127 assertThat (reindexingSummary )
@@ -122,6 +130,26 @@ public void indexingWithSegmentingByPrefixOnStringField() throws Exception {
122130 .hasFailedIndexedCount (0L );
123131 }
124132
133+
134+ @ Test
135+ public void indexingWithStartQuery () throws Exception {
136+ //given
137+ indexWithSampleData ();
138+ ElasticDataPointer sourceDataPointer = embeddedElasticsearchCluster .createDataPointer (SOURCE_INDEX );
139+ ElasticDataPointer targetDataPointer = embeddedElasticsearchCluster .createDataPointer (TARGET_INDEX );
140+ ElasticSearchQuery elasticSearchQuery = embeddedElasticsearchCluster .createInitialQuery ("" +
141+ "{\" range\" : {\" fieldName\" : { \" gte\" : \" 5\" }}}" , new FieldSortBuilder ("fieldName" ));
142+ //when
143+ ReindexingSummary reindexingSummary = ReindexInvoker .invokeReindexing (sourceDataPointer , targetDataPointer ,
144+ EmptySegmentation .createEmptySegmentation (), elasticSearchQuery );
145+ //then
146+ assertEquals (5L , embeddedElasticsearchCluster .count (TARGET_INDEX ));
147+ assertThat (reindexingSummary )
148+ .hasIndexedCount (5L )
149+ .hasQueriedCount (5L )
150+ .hasFailedIndexedCount (0L );
151+ }
152+
125153 private void indexWithSampleData () {
126154 Stream <IndexDocument > streamToBeIndexed = IntStream
127155 .range (1 , 10 )
@@ -137,8 +165,9 @@ public void tryingReindexNotExistingIndex() throws Exception {
137165 embeddedElasticsearchCluster .deleteIndex (SOURCE_INDEX );
138166 ElasticDataPointer sourceDataPointer = embeddedElasticsearchCluster .createDataPointer (SOURCE_INDEX );
139167 ElasticDataPointer targetDataPointer = embeddedElasticsearchCluster .createDataPointer (TARGET_INDEX );
168+ ElasticSearchQuery elasticSearchQuery = embeddedElasticsearchCluster .createInitialQuery ("" );
140169 //when
141- ReindexInvoker .invokeReindexing (sourceDataPointer , targetDataPointer , EmptySegmentation .createEmptySegmentation ());
170+ ReindexInvoker .invokeReindexing (sourceDataPointer , targetDataPointer , EmptySegmentation .createEmptySegmentation (), elasticSearchQuery );
142171 //then
143172 assertFalse (embeddedElasticsearchCluster .indexExist (TARGET_INDEX ));
144173
0 commit comments