Skip to content

Commit 4cbddac

Browse files
committed
Move type information entirely into MappingMetadata
1 parent a7fdd3c commit 4cbddac

File tree

84 files changed

+901
-1022
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

84 files changed

+901
-1022
lines changed

benchmarks/src/main/java/org/elasticsearch/benchmark/index/mapper/MapperServiceFactory.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import org.elasticsearch.Version;
1313
import org.elasticsearch.cluster.ClusterModule;
1414
import org.elasticsearch.cluster.metadata.IndexMetadata;
15+
import org.elasticsearch.cluster.metadata.MappingMetadata;
1516
import org.elasticsearch.common.compress.CompressedXContent;
1617
import org.elasticsearch.common.settings.Settings;
1718
import org.elasticsearch.common.xcontent.LoggingDeprecationHandler;
@@ -72,7 +73,7 @@ public <T> T compile(Script script, ScriptContext<T> scriptContext) {
7273
);
7374

7475
try {
75-
mapperService.merge("_doc", new CompressedXContent(mappings), MapperService.MergeReason.MAPPING_UPDATE);
76+
mapperService.merge(new MappingMetadata(new CompressedXContent(mappings)), MapperService.MergeReason.MAPPING_UPDATE);
7677
return mapperService;
7778
} catch (IOException e) {
7879
throw new UncheckedIOException(e);

benchmarks/src/main/java/org/elasticsearch/benchmark/search/QueryParserHelperBenchmark.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import org.elasticsearch.Version;
2121
import org.elasticsearch.cluster.ClusterModule;
2222
import org.elasticsearch.cluster.metadata.IndexMetadata;
23+
import org.elasticsearch.cluster.metadata.MappingMetadata;
2324
import org.elasticsearch.common.bytes.BytesArray;
2425
import org.elasticsearch.common.compress.CompressedXContent;
2526
import org.elasticsearch.common.io.stream.NamedWriteableRegistry;
@@ -193,7 +194,7 @@ public <T> T compile(Script script, ScriptContext<T> scriptContext) {
193194
);
194195

195196
try {
196-
mapperService.merge("_doc", new CompressedXContent(mappings), MapperService.MergeReason.MAPPING_UPDATE);
197+
mapperService.merge(new MappingMetadata(new CompressedXContent(mappings)), MapperService.MergeReason.MAPPING_UPDATE);
197198
return mapperService;
198199
} catch (IOException e) {
199200
throw new UncheckedIOException(e);

modules/data-streams/src/main/java/org/elasticsearch/datastreams/DataStreamIndexSettingsProvider.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import org.elasticsearch.Version;
1111
import org.elasticsearch.cluster.metadata.DataStream;
1212
import org.elasticsearch.cluster.metadata.IndexMetadata;
13+
import org.elasticsearch.cluster.metadata.MappingMetadata;
1314
import org.elasticsearch.cluster.metadata.Metadata;
1415
import org.elasticsearch.common.UUIDs;
1516
import org.elasticsearch.common.compress.CompressedXContent;
@@ -159,7 +160,7 @@ private List<String> findRoutingPaths(String indexName, Settings allSettings, Li
159160
// Create MapperService just to extract keyword dimension fields:
160161
try (var mapperService = mapperServiceFactory.apply(tmpIndexMetadata.build())) {
161162
for (var mapping : combinedTemplateMappings) {
162-
mapperService.merge(MapperService.SINGLE_MAPPING_NAME, mapping, MapperService.MergeReason.INDEX_TEMPLATE);
163+
mapperService.merge(new MappingMetadata(mapping), MapperService.MergeReason.INDEX_TEMPLATE);
163164
}
164165

165166
List<String> routingPaths = new ArrayList<>();

modules/mapper-extras/src/test/java/org/elasticsearch/index/mapper/extras/RankFeatureMetaFieldMapperTests.java

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
package org.elasticsearch.index.mapper.extras;
1010

11+
import org.elasticsearch.cluster.metadata.MappingMetadata;
1112
import org.elasticsearch.common.Strings;
1213
import org.elasticsearch.common.bytes.BytesReference;
1314
import org.elasticsearch.common.compress.CompressedXContent;
@@ -18,6 +19,7 @@
1819
import org.elasticsearch.index.mapper.Mapping;
1920
import org.elasticsearch.index.mapper.SourceToParse;
2021
import org.elasticsearch.plugins.Plugin;
22+
import org.elasticsearch.xcontent.XContentBuilder;
2123
import org.elasticsearch.xcontent.XContentFactory;
2224
import org.elasticsearch.xcontent.XContentType;
2325
import org.hamcrest.CoreMatchers;
@@ -33,20 +35,18 @@ protected Collection<? extends Plugin> getPlugins() {
3335
}
3436

3537
public void testBasics() throws Exception {
36-
String mapping = Strings.toString(
37-
XContentFactory.jsonBuilder()
38-
.startObject()
39-
.startObject("type")
40-
.startObject("properties")
41-
.startObject("field")
42-
.field("type", "rank_feature")
43-
.endObject()
44-
.endObject()
45-
.endObject()
46-
.endObject()
47-
);
38+
XContentBuilder mapping = XContentFactory.jsonBuilder()
39+
.startObject()
40+
.startObject("type")
41+
.startObject("properties")
42+
.startObject("field")
43+
.field("type", "rank_feature")
44+
.endObject()
45+
.endObject()
46+
.endObject()
47+
.endObject();
4848

49-
Mapping parsedMapping = createMapperService(mapping).parseMapping("type", new CompressedXContent(mapping));
49+
Mapping parsedMapping = createMapperService(mapping).parseMapping(toMappingMetadata(mapping));
5050
assertEquals(mapping, parsedMapping.toCompressedXContent().toString());
5151
assertNotNull(parsedMapping.getMetadataMapperByClass(RankFeatureMetaFieldMapper.class));
5252
}
@@ -58,8 +58,7 @@ public void testBasics() throws Exception {
5858
public void testDocumentParsingFailsOnMetaField() throws Exception {
5959
String mapping = Strings.toString(XContentFactory.jsonBuilder().startObject().startObject("_doc").endObject().endObject());
6060
DocumentMapper mapper = createMapperService(mapping).merge(
61-
"_doc",
62-
new CompressedXContent(mapping),
61+
new MappingMetadata(new CompressedXContent(mapping)),
6362
MapperService.MergeReason.MAPPING_UPDATE
6463
);
6564
String rfMetaField = RankFeatureMetaFieldMapper.CONTENT_TYPE;

modules/mapper-extras/src/test/java/org/elasticsearch/index/mapper/extras/RankFeatureQueryBuilderTests.java

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import org.apache.lucene.search.MatchNoDocsQuery;
1313
import org.apache.lucene.search.Query;
1414
import org.elasticsearch.action.admin.indices.mapping.put.PutMappingRequest;
15+
import org.elasticsearch.cluster.metadata.MappingMetadata;
1516
import org.elasticsearch.common.Strings;
1617
import org.elasticsearch.common.compress.CompressedXContent;
1718
import org.elasticsearch.index.mapper.MapperService;
@@ -34,16 +35,17 @@ public class RankFeatureQueryBuilderTests extends AbstractQueryTestCase<RankFeat
3435
@Override
3536
protected void initializeAdditionalMappings(MapperService mapperService) throws IOException {
3637
mapperService.merge(
37-
"_doc",
38-
new CompressedXContent(
39-
Strings.toString(
40-
PutMappingRequest.simpleMapping(
41-
"my_feature_field",
42-
"type=rank_feature",
43-
"my_negative_feature_field",
44-
"type=rank_feature,positive_score_impact=false",
45-
"my_feature_vector_field",
46-
"type=rank_features"
38+
new MappingMetadata(
39+
new CompressedXContent(
40+
Strings.toString(
41+
PutMappingRequest.simpleMapping(
42+
"my_feature_field",
43+
"type=rank_feature",
44+
"my_negative_feature_field",
45+
"type=rank_feature,positive_score_impact=false",
46+
"my_feature_vector_field",
47+
"type=rank_features"
48+
)
4749
)
4850
)
4951
),

modules/parent-join/src/test/java/org/elasticsearch/join/query/HasChildQueryBuilderTests.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,6 @@
2323
import org.apache.lucene.search.similarities.Similarity;
2424
import org.elasticsearch.ElasticsearchException;
2525
import org.elasticsearch.Version;
26-
import org.elasticsearch.common.Strings;
27-
import org.elasticsearch.common.compress.CompressedXContent;
2826
import org.elasticsearch.common.settings.Settings;
2927
import org.elasticsearch.index.mapper.IdFieldMapper;
3028
import org.elasticsearch.index.mapper.MapperService;
@@ -66,7 +64,6 @@
6664

6765
public class HasChildQueryBuilderTests extends AbstractQueryTestCase<HasChildQueryBuilder> {
6866

69-
private static final String TYPE = "_doc";
7067
private static final String PARENT_DOC = "parent";
7168
private static final String CHILD_DOC = "child";
7269

@@ -120,7 +117,7 @@ protected void initializeAdditionalMappings(MapperService mapperService) throws
120117
.endObject()
121118
.endObject();
122119

123-
mapperService.merge(TYPE, new CompressedXContent(Strings.toString(mapping)), MapperService.MergeReason.MAPPING_UPDATE);
120+
mapperService.merge(toMappingMetadata(mapping), MapperService.MergeReason.MAPPING_UPDATE);
124121
}
125122

126123
/**

modules/parent-join/src/test/java/org/elasticsearch/join/query/HasParentQueryBuilderTests.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,6 @@
1313
import org.apache.lucene.search.join.ScoreMode;
1414
import org.elasticsearch.ElasticsearchException;
1515
import org.elasticsearch.Version;
16-
import org.elasticsearch.common.Strings;
17-
import org.elasticsearch.common.compress.CompressedXContent;
1816
import org.elasticsearch.index.mapper.MapperService;
1917
import org.elasticsearch.index.query.IdsQueryBuilder;
2018
import org.elasticsearch.index.query.InnerHitBuilder;
@@ -51,7 +49,7 @@
5149
import static org.mockito.Mockito.when;
5250

5351
public class HasParentQueryBuilderTests extends AbstractQueryTestCase<HasParentQueryBuilder> {
54-
private static final String TYPE = "_doc";
52+
5553
private static final String PARENT_DOC = "parent";
5654
private static final String CHILD_DOC = "child";
5755

@@ -98,7 +96,7 @@ protected void initializeAdditionalMappings(MapperService mapperService) throws
9896
.endObject()
9997
.endObject();
10098

101-
mapperService.merge(TYPE, new CompressedXContent(Strings.toString(mapping)), MapperService.MergeReason.MAPPING_UPDATE);
99+
mapperService.merge(toMappingMetadata(mapping), MapperService.MergeReason.MAPPING_UPDATE);
102100
}
103101

104102
/**

modules/parent-join/src/test/java/org/elasticsearch/join/query/ParentIdQueryBuilderTests.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,6 @@
1515
import org.apache.lucene.search.Query;
1616
import org.apache.lucene.search.TermQuery;
1717
import org.elasticsearch.ElasticsearchException;
18-
import org.elasticsearch.common.Strings;
19-
import org.elasticsearch.common.compress.CompressedXContent;
2018
import org.elasticsearch.index.mapper.MapperService;
2119
import org.elasticsearch.index.query.QueryShardException;
2220
import org.elasticsearch.index.query.SearchExecutionContext;
@@ -40,7 +38,6 @@
4038

4139
public class ParentIdQueryBuilderTests extends AbstractQueryTestCase<ParentIdQueryBuilder> {
4240

43-
private static final String TYPE = "_doc";
4441
private static final String JOIN_FIELD_NAME = "join_field";
4542
private static final String PARENT_NAME = "parent";
4643
private static final String CHILD_NAME = "child";
@@ -86,7 +83,7 @@ protected void initializeAdditionalMappings(MapperService mapperService) throws
8683
.endObject()
8784
.endObject();
8885

89-
mapperService.merge(TYPE, new CompressedXContent(Strings.toString(mapping)), MapperService.MergeReason.MAPPING_UPDATE);
86+
mapperService.merge(toMappingMetadata(mapping), MapperService.MergeReason.MAPPING_UPDATE);
9087
}
9188

9289
@Override

modules/percolator/src/test/java/org/elasticsearch/percolator/CandidateQueryTests.java

Lines changed: 41 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -66,10 +66,8 @@
6666
import org.apache.lucene.store.Directory;
6767
import org.apache.lucene.util.BytesRef;
6868
import org.elasticsearch.Version;
69-
import org.elasticsearch.common.Strings;
7069
import org.elasticsearch.common.bytes.BytesArray;
7170
import org.elasticsearch.common.bytes.BytesReference;
72-
import org.elasticsearch.common.compress.CompressedXContent;
7371
import org.elasticsearch.common.geo.ShapeRelation;
7472
import org.elasticsearch.common.lucene.search.function.FunctionScoreQuery;
7573
import org.elasticsearch.common.settings.Settings;
@@ -86,6 +84,7 @@
8684
import org.elasticsearch.plugins.Plugin;
8785
import org.elasticsearch.test.ESSingleNodeTestCase;
8886
import org.elasticsearch.test.VersionUtils;
87+
import org.elasticsearch.xcontent.XContentBuilder;
8988
import org.elasticsearch.xcontent.XContentFactory;
9089
import org.junit.After;
9190
import org.junit.Before;
@@ -136,52 +135,48 @@ public void init() throws Exception {
136135
indexService = createIndex(indexName, Settings.EMPTY);
137136
mapperService = indexService.mapperService();
138137

139-
String mapper = Strings.toString(
140-
XContentFactory.jsonBuilder()
141-
.startObject()
142-
.startObject("type")
143-
.startObject("properties")
144-
.startObject("int_field")
145-
.field("type", "integer")
146-
.endObject()
147-
.startObject("long_field")
148-
.field("type", "long")
149-
.endObject()
150-
.startObject("half_float_field")
151-
.field("type", "half_float")
152-
.endObject()
153-
.startObject("float_field")
154-
.field("type", "float")
155-
.endObject()
156-
.startObject("double_field")
157-
.field("type", "double")
158-
.endObject()
159-
.startObject("ip_field")
160-
.field("type", "ip")
161-
.endObject()
162-
.startObject("field")
163-
.field("type", "keyword")
164-
.endObject()
165-
.endObject()
166-
.endObject()
167-
.endObject()
168-
);
169-
mapperService.merge("type", new CompressedXContent(mapper), MapperService.MergeReason.MAPPING_UPDATE);
138+
XContentBuilder mappings = XContentFactory.jsonBuilder()
139+
.startObject()
140+
.startObject("type")
141+
.startObject("properties")
142+
.startObject("int_field")
143+
.field("type", "integer")
144+
.endObject()
145+
.startObject("long_field")
146+
.field("type", "long")
147+
.endObject()
148+
.startObject("half_float_field")
149+
.field("type", "half_float")
150+
.endObject()
151+
.startObject("float_field")
152+
.field("type", "float")
153+
.endObject()
154+
.startObject("double_field")
155+
.field("type", "double")
156+
.endObject()
157+
.startObject("ip_field")
158+
.field("type", "ip")
159+
.endObject()
160+
.startObject("field")
161+
.field("type", "keyword")
162+
.endObject()
163+
.endObject()
164+
.endObject()
165+
.endObject();
166+
mapperService.merge(toMappingMetadata(mappings), MapperService.MergeReason.MAPPING_UPDATE);
170167

171168
String queryField = "query_field";
172-
String percolatorMapper = Strings.toString(
173-
XContentFactory.jsonBuilder()
174-
.startObject()
175-
.startObject("type")
176-
.startObject("properties")
177-
.startObject(queryField)
178-
.field("type", "percolator")
179-
.endObject()
180-
.endObject()
181-
.endObject()
182-
.endObject()
183-
);
184-
mapperService.merge("type", new CompressedXContent(percolatorMapper), MapperService.MergeReason.MAPPING_UPDATE);
169+
mappings = XContentFactory.jsonBuilder()
170+
.startObject()
171+
.startObject("type")
172+
.startObject("properties")
173+
.startObject(queryField)
174+
.field("type", "percolator")
175+
.endObject()
176+
.endObject()
177+
.endObject()
178+
.endObject();
179+
mapperService.merge(toMappingMetadata(mappings), MapperService.MergeReason.MAPPING_UPDATE);
185180
fieldMapper = (PercolatorFieldMapper) mapperService.documentMapper().mappers().getMapper(queryField);
186181
fieldType = (PercolatorFieldMapper.PercolatorFieldType) fieldMapper.fieldType();
187182

modules/percolator/src/test/java/org/elasticsearch/percolator/PercolateQueryBuilderTests.java

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
import org.elasticsearch.common.Strings;
1818
import org.elasticsearch.common.bytes.BytesArray;
1919
import org.elasticsearch.common.bytes.BytesReference;
20-
import org.elasticsearch.common.compress.CompressedXContent;
2120
import org.elasticsearch.common.io.stream.BytesStreamOutput;
2221
import org.elasticsearch.common.lucene.uid.Versions;
2322
import org.elasticsearch.core.RestApiVersion;
@@ -86,17 +85,11 @@ protected void initializeAdditionalMappings(MapperService mapperService) throws
8685

8786
docType = "_doc";
8887
mapperService.merge(
89-
docType,
90-
new CompressedXContent(
91-
Strings.toString(
92-
PutMappingRequest.simpleMapping(queryField, "type=percolator", aliasField, "type=alias,path=" + queryField)
93-
)
94-
),
88+
toMappingMetadata(PutMappingRequest.simpleMapping(queryField, "type=percolator", aliasField, "type=alias,path=" + queryField)),
9589
MapperService.MergeReason.MAPPING_UPDATE
9690
);
9791
mapperService.merge(
98-
docType,
99-
new CompressedXContent(Strings.toString(PutMappingRequest.simpleMapping(TEXT_FIELD_NAME, "type=text"))),
92+
toMappingMetadata(PutMappingRequest.simpleMapping(TEXT_FIELD_NAME, "type=text")),
10093
MapperService.MergeReason.MAPPING_UPDATE
10194
);
10295
}

0 commit comments

Comments
 (0)