@@ -48,34 +48,7 @@ public void cleanup() {
48
48
49
49
public void testSingleNumericFeatureAndMixedTrainingAndNonTrainingRows () throws Exception {
50
50
initialize ("regression_single_numeric_feature_and_mixed_data_set" );
51
-
52
- { // Index 350 rows, 300 of them being training rows.
53
- client ().admin ().indices ().prepareCreate (sourceIndex )
54
- .addMapping ("_doc" , NUMERICAL_FEATURE_FIELD , "type=double" , DEPENDENT_VARIABLE_FIELD , "type=double" )
55
- .get ();
56
-
57
- BulkRequestBuilder bulkRequestBuilder = client ().prepareBulk ()
58
- .setRefreshPolicy (WriteRequest .RefreshPolicy .IMMEDIATE );
59
- for (int i = 0 ; i < 300 ; i ++) {
60
- Double field = NUMERICAL_FEATURE_VALUES .get (i % 3 );
61
- Double value = DEPENDENT_VARIABLE_VALUES .get (i % 3 );
62
-
63
- IndexRequest indexRequest = new IndexRequest (sourceIndex )
64
- .source (NUMERICAL_FEATURE_FIELD , field , DEPENDENT_VARIABLE_FIELD , value );
65
- bulkRequestBuilder .add (indexRequest );
66
- }
67
- for (int i = 300 ; i < 350 ; i ++) {
68
- Double field = NUMERICAL_FEATURE_VALUES .get (i % 3 );
69
-
70
- IndexRequest indexRequest = new IndexRequest (sourceIndex )
71
- .source (NUMERICAL_FEATURE_FIELD , field );
72
- bulkRequestBuilder .add (indexRequest );
73
- }
74
- BulkResponse bulkResponse = bulkRequestBuilder .get ();
75
- if (bulkResponse .hasFailures ()) {
76
- fail ("Failed to index data: " + bulkResponse .buildFailureMessage ());
77
- }
78
- }
51
+ indexData (sourceIndex , 300 , 50 );
79
52
80
53
DataFrameAnalyticsConfig config = buildAnalytics (jobId , sourceIndex , destIndex , null , new Regression (DEPENDENT_VARIABLE_FIELD ));
81
54
registerAnalytics (config );
@@ -120,23 +93,7 @@ public void testSingleNumericFeatureAndMixedTrainingAndNonTrainingRows() throws
120
93
121
94
public void testWithOnlyTrainingRowsAndTrainingPercentIsHundred () throws Exception {
122
95
initialize ("regression_only_training_data_and_training_percent_is_100" );
123
-
124
- { // Index 350 rows, all of them being training rows.
125
- BulkRequestBuilder bulkRequestBuilder = client ().prepareBulk ()
126
- .setRefreshPolicy (WriteRequest .RefreshPolicy .IMMEDIATE );
127
- for (int i = 0 ; i < 350 ; i ++) {
128
- Double field = NUMERICAL_FEATURE_VALUES .get (i % 3 );
129
- Double value = DEPENDENT_VARIABLE_VALUES .get (i % 3 );
130
-
131
- IndexRequest indexRequest = new IndexRequest (sourceIndex )
132
- .source (NUMERICAL_FEATURE_FIELD , field , DEPENDENT_VARIABLE_FIELD , value );
133
- bulkRequestBuilder .add (indexRequest );
134
- }
135
- BulkResponse bulkResponse = bulkRequestBuilder .get ();
136
- if (bulkResponse .hasFailures ()) {
137
- fail ("Failed to index data: " + bulkResponse .buildFailureMessage ());
138
- }
139
- }
96
+ indexData (sourceIndex , 350 , 0 );
140
97
141
98
DataFrameAnalyticsConfig config = buildAnalytics (jobId , sourceIndex , destIndex , null , new Regression (DEPENDENT_VARIABLE_FIELD ));
142
99
registerAnalytics (config );
@@ -173,23 +130,7 @@ public void testWithOnlyTrainingRowsAndTrainingPercentIsHundred() throws Excepti
173
130
174
131
public void testWithOnlyTrainingRowsAndTrainingPercentIsFifty () throws Exception {
175
132
initialize ("regression_only_training_data_and_training_percent_is_50" );
176
-
177
- { // Index 350 rows, all of them being training rows.
178
- BulkRequestBuilder bulkRequestBuilder = client ().prepareBulk ()
179
- .setRefreshPolicy (WriteRequest .RefreshPolicy .IMMEDIATE );
180
- for (int i = 0 ; i < 350 ; i ++) {
181
- Double field = NUMERICAL_FEATURE_VALUES .get (i % 3 );
182
- Double value = DEPENDENT_VARIABLE_VALUES .get (i % 3 );
183
-
184
- IndexRequest indexRequest = new IndexRequest (sourceIndex )
185
- .source (NUMERICAL_FEATURE_FIELD , field , DEPENDENT_VARIABLE_FIELD , value );
186
- bulkRequestBuilder .add (indexRequest );
187
- }
188
- BulkResponse bulkResponse = bulkRequestBuilder .get ();
189
- if (bulkResponse .hasFailures ()) {
190
- fail ("Failed to index data: " + bulkResponse .buildFailureMessage ());
191
- }
192
- }
133
+ indexData (sourceIndex , 350 , 0 );
193
134
194
135
DataFrameAnalyticsConfig config =
195
136
buildAnalytics (
@@ -242,21 +183,7 @@ public void testWithOnlyTrainingRowsAndTrainingPercentIsFifty() throws Exception
242
183
@ AwaitsFix (bugUrl ="https://github.com/elastic/elasticsearch/issues/49095" )
243
184
public void testStopAndRestart () throws Exception {
244
185
initialize ("regression_stop_and_restart" );
245
-
246
- BulkRequestBuilder bulkRequestBuilder = client ().prepareBulk ()
247
- .setRefreshPolicy (WriteRequest .RefreshPolicy .IMMEDIATE );
248
- for (int i = 0 ; i < 350 ; i ++) {
249
- Double field = NUMERICAL_FEATURE_VALUES .get (i % 3 );
250
- Double value = DEPENDENT_VARIABLE_VALUES .get (i % 3 );
251
-
252
- IndexRequest indexRequest = new IndexRequest (sourceIndex )
253
- .source ("feature" , field , "variable" , value );
254
- bulkRequestBuilder .add (indexRequest );
255
- }
256
- BulkResponse bulkResponse = bulkRequestBuilder .get ();
257
- if (bulkResponse .hasFailures ()) {
258
- fail ("Failed to index data: " + bulkResponse .buildFailureMessage ());
259
- }
186
+ indexData (sourceIndex , 350 , 0 );
260
187
261
188
DataFrameAnalyticsConfig config = buildAnalytics (jobId , sourceIndex , destIndex , null , new Regression (DEPENDENT_VARIABLE_FIELD ));
262
189
registerAnalytics (config );
@@ -310,6 +237,31 @@ private void initialize(String jobId) {
310
237
this .destIndex = sourceIndex + "_results" ;
311
238
}
312
239
240
+ private static void indexData (String sourceIndex , int numTrainingRows , int numNonTrainingRows ) {
241
+ client ().admin ().indices ().prepareCreate (sourceIndex )
242
+ .addMapping ("_doc" , NUMERICAL_FEATURE_FIELD , "type=double" , DEPENDENT_VARIABLE_FIELD , "type=double" )
243
+ .get ();
244
+
245
+ BulkRequestBuilder bulkRequestBuilder = client ().prepareBulk ()
246
+ .setRefreshPolicy (WriteRequest .RefreshPolicy .IMMEDIATE );
247
+ for (int i = 0 ; i < numTrainingRows ; i ++) {
248
+ List <Object > source = List .of (
249
+ NUMERICAL_FEATURE_FIELD , NUMERICAL_FEATURE_VALUES .get (i % NUMERICAL_FEATURE_VALUES .size ()),
250
+ DEPENDENT_VARIABLE_FIELD , DEPENDENT_VARIABLE_VALUES .get (i % DEPENDENT_VARIABLE_VALUES .size ()));
251
+ IndexRequest indexRequest = new IndexRequest (sourceIndex ).source (source .toArray ());
252
+ bulkRequestBuilder .add (indexRequest );
253
+ }
254
+ for (int i = numTrainingRows ; i < numTrainingRows + numNonTrainingRows ; i ++) {
255
+ List <Object > source = List .of (NUMERICAL_FEATURE_FIELD , NUMERICAL_FEATURE_VALUES .get (i % NUMERICAL_FEATURE_VALUES .size ()));
256
+ IndexRequest indexRequest = new IndexRequest (sourceIndex ).source (source .toArray ());
257
+ bulkRequestBuilder .add (indexRequest );
258
+ }
259
+ BulkResponse bulkResponse = bulkRequestBuilder .get ();
260
+ if (bulkResponse .hasFailures ()) {
261
+ fail ("Failed to index data: " + bulkResponse .buildFailureMessage ());
262
+ }
263
+ }
264
+
313
265
private static Map <String , Object > getDestDoc (DataFrameAnalyticsConfig config , SearchHit hit ) {
314
266
GetResponse destDocGetResponse = client ().prepareGet ().setIndex (config .getDest ().getIndex ()).setId (hit .getId ()).get ();
315
267
assertThat (destDocGetResponse .isExists (), is (true ));
0 commit comments