12
12
import org .apache .lucene .analysis .core .KeywordAnalyzer ;
13
13
import org .apache .lucene .analysis .core .WhitespaceAnalyzer ;
14
14
import org .apache .lucene .analysis .standard .StandardAnalyzer ;
15
+ import org .elasticsearch .Version ;
15
16
import org .elasticsearch .common .compress .CompressedXContent ;
17
+ import org .elasticsearch .common .settings .Settings ;
16
18
import org .elasticsearch .index .IndexSettings ;
17
19
import org .elasticsearch .index .analysis .AnalyzerScope ;
18
20
import org .elasticsearch .index .analysis .IndexAnalyzers ;
@@ -49,15 +51,17 @@ public void testAddFields() throws Exception {
49
51
}));
50
52
51
53
MergeReason reason = randomFrom (MergeReason .MAPPING_UPDATE , MergeReason .INDEX_TEMPLATE );
52
- DocumentMapper merged = stage1 .merge (stage2 .mapping (), reason );
53
-
54
+ Mapping merged = MapperService .mergeMappings (stage1 , stage2 .mapping (), reason );
54
55
// stage1 mapping should not have been modified
55
56
assertThat (stage1 .mappers ().getMapper ("age" ), nullValue ());
56
57
assertThat (stage1 .mappers ().getMapper ("obj1.prop1" ), nullValue ());
57
58
// but merged should
58
- assertThat (merged .mappers ().getMapper ("age" ), notNullValue ());
59
- assertThat (merged .mappers ().getMapper ("obj1.prop1" ), notNullValue ());
60
- }
59
+ IndexSettings indexSettings = createIndexSettings (Version .CURRENT , Settings .EMPTY );
60
+ IndexAnalyzers indexAnalyzers = createIndexAnalyzers (indexSettings );
61
+ DocumentMapper mergedMapper = new DocumentMapper (indexSettings , indexAnalyzers , null , merged );
62
+ assertThat (mergedMapper .mappers ().getMapper ("age" ), notNullValue ());
63
+ assertThat (mergedMapper .mappers ().getMapper ("obj1.prop1" ), notNullValue ());
64
+ }
61
65
62
66
public void testMergeObjectDynamic () throws Exception {
63
67
DocumentMapper mapper = createDocumentMapper (mapping (b -> { }));
@@ -66,7 +70,7 @@ public void testMergeObjectDynamic() throws Exception {
66
70
DocumentMapper withDynamicMapper = createDocumentMapper (topMapping (b -> b .field ("dynamic" , "false" )));
67
71
assertThat (withDynamicMapper .root ().dynamic (), equalTo (ObjectMapper .Dynamic .FALSE ));
68
72
69
- DocumentMapper merged = mapper . merge ( withDynamicMapper .mapping (), MergeReason .MAPPING_UPDATE );
73
+ Mapping merged = MapperService . mergeMappings ( mapper , withDynamicMapper .mapping (), MergeReason .MAPPING_UPDATE );
70
74
assertThat (merged .root ().dynamic (), equalTo (ObjectMapper .Dynamic .FALSE ));
71
75
}
72
76
@@ -77,12 +81,12 @@ public void testMergeObjectAndNested() throws Exception {
77
81
78
82
{
79
83
IllegalArgumentException e = expectThrows (IllegalArgumentException .class ,
80
- () -> objectMapper . merge ( nestedMapper .mapping (), reason ));
84
+ () -> MapperService . mergeMappings ( objectMapper , nestedMapper .mapping (), reason ));
81
85
assertThat (e .getMessage (), containsString ("cannot change object mapping from non-nested to nested" ));
82
86
}
83
87
{
84
88
IllegalArgumentException e = expectThrows (IllegalArgumentException .class ,
85
- () -> nestedMapper . merge ( objectMapper .mapping (), reason ));
89
+ () -> MapperService . mergeMappings ( nestedMapper , objectMapper .mapping (), reason ));
86
90
assertThat (e .getMessage (), containsString ("cannot change object mapping from nested to non-nested" ));
87
91
}
88
92
}
@@ -220,13 +224,13 @@ public void testMergeMeta() throws IOException {
220
224
221
225
DocumentMapper updatedMapper = createDocumentMapper (fieldMapping (b -> b .field ("type" , "text" )));
222
226
223
- DocumentMapper mergedMapper = initMapper . merge ( updatedMapper .mapping (), MergeReason .MAPPING_UPDATE );
224
- assertThat (mergedMapper .meta () .get ("foo" ), equalTo ("bar" ));
227
+ Mapping merged = MapperService . mergeMappings ( initMapper , updatedMapper .mapping (), MergeReason .MAPPING_UPDATE );
228
+ assertThat (merged .meta .get ("foo" ), equalTo ("bar" ));
225
229
226
230
updatedMapper
227
231
= createDocumentMapper (topMapping (b -> b .startObject ("_meta" ).field ("foo" , "new_bar" ).endObject ()));
228
- mergedMapper = initMapper . merge ( updatedMapper .mapping (), MergeReason .MAPPING_UPDATE );
229
- assertThat (mergedMapper .meta () .get ("foo" ), equalTo ("new_bar" ));
232
+ merged = MapperService . mergeMappings ( initMapper , updatedMapper .mapping (), MergeReason .MAPPING_UPDATE );
233
+ assertThat (merged .meta .get ("foo" ), equalTo ("new_bar" ));
230
234
}
231
235
232
236
public void testMergeMetaForIndexTemplate () throws IOException {
@@ -249,8 +253,8 @@ public void testMergeMetaForIndexTemplate() throws IOException {
249
253
assertThat (initMapper .meta (), equalTo (expected ));
250
254
251
255
DocumentMapper updatedMapper = createDocumentMapper (fieldMapping (b -> b .field ("type" , "text" )));
252
- DocumentMapper mergedMapper = initMapper . merge ( updatedMapper .mapping (), MergeReason .INDEX_TEMPLATE );
253
- assertThat (mergedMapper .meta () , equalTo (expected ));
256
+ Mapping merged = MapperService . mergeMappings ( initMapper , updatedMapper .mapping (), MergeReason .INDEX_TEMPLATE );
257
+ assertThat (merged .meta , equalTo (expected ));
254
258
255
259
updatedMapper = createDocumentMapper (topMapping (b -> {
256
260
b .startObject ("_meta" );
@@ -265,10 +269,10 @@ public void testMergeMetaForIndexTemplate() throws IOException {
265
269
}
266
270
b .endObject ();
267
271
}));
268
- mergedMapper = mergedMapper .merge (updatedMapper .mapping (), MergeReason .INDEX_TEMPLATE );
272
+ merged = merged .merge (updatedMapper .mapping (), MergeReason .INDEX_TEMPLATE );
269
273
270
274
expected = Map .of ("field" , "value" ,
271
275
"object" , Map .of ("field1" , "value1" , "field2" , "new_value" , "field3" , "value3" ));
272
- assertThat (mergedMapper .meta () , equalTo (expected ));
276
+ assertThat (merged .meta , equalTo (expected ));
273
277
}
274
278
}
0 commit comments