[Remove] Type from PutIndexTemplateRequest and PITRB (#2497)

Continues removal of types from PutIndexTemplateRequest and
PutIndexTemplateRequestBuilder.mapping. Delegated mapping method in
PutIndexTemplateRequestBuilder is refactored to setMapping for consistency with
similar methods (e.g., setSettings, setAliases).

Signed-off-by: Nicholas Walter Knize <nknize@apache.org>
This commit is contained in:
Nick Knize 2022-03-17 12:05:24 -05:00 committed by GitHub
parent f34a75381d
commit 2e3d3fef13
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
24 changed files with 45 additions and 49 deletions

View File

@ -62,7 +62,7 @@ public class RankFeatureQueryBuilderTests extends AbstractQueryTestCase<RankFeat
"_doc",
new CompressedXContent(
Strings.toString(
PutMappingRequest.buildFromSimplifiedDef(
PutMappingRequest.simpleMapping(
"my_feature_field",
"type=rank_feature",
"my_negative_feature_field",

View File

@ -565,7 +565,7 @@ public class PercolatorQuerySearchIT extends OpenSearchIntegTestCase {
client().admin()
.indices()
.prepareCreate("test")
.addMapping("type", "id", "type=keyword", "field1", fieldMapping, "query", "type=percolator")
.addMapping("type", "id", "type=keyword", "field1", fieldMapping.toString(), "query", "type=percolator")
);
client().prepareIndex("test")
.setId("1")

View File

@ -110,14 +110,14 @@ public class PercolateQueryBuilderTests extends AbstractQueryTestCase<PercolateQ
docType,
new CompressedXContent(
Strings.toString(
PutMappingRequest.buildFromSimplifiedDef(queryField, "type=percolator", aliasField, "type=alias,path=" + queryField)
PutMappingRequest.simpleMapping(queryField, "type=percolator", aliasField, "type=alias,path=" + queryField)
)
),
MapperService.MergeReason.MAPPING_UPDATE
);
mapperService.merge(
docType,
new CompressedXContent(Strings.toString(PutMappingRequest.buildFromSimplifiedDef(TEXT_FIELD_NAME, "type=text"))),
new CompressedXContent(Strings.toString(PutMappingRequest.simpleMapping(TEXT_FIELD_NAME, "type=text"))),
MapperService.MergeReason.MAPPING_UPDATE
);
}

View File

@ -50,7 +50,7 @@ public class PercolateWithNestedQueryBuilderTests extends PercolateQueryBuilderT
super.initializeAdditionalMappings(mapperService);
mapperService.merge(
"_doc",
new CompressedXContent(Strings.toString(PutMappingRequest.buildFromSimplifiedDef("some_nested_object", "type=nested"))),
new CompressedXContent(Strings.toString(PutMappingRequest.simpleMapping("some_nested_object", "type=nested"))),
MapperService.MergeReason.MAPPING_UPDATE
);
}

View File

@ -49,7 +49,7 @@ public class AliasedIndexDocumentActionsIT extends DocumentActionsIT {
logger.info("--> creating index test");
client().admin()
.indices()
.create(createIndexRequest("test1").mapping("type1", "name", "type=keyword,store=true").alias(new Alias("test")))
.create(createIndexRequest("test1").simpleMapping("name", "type=keyword,store=true").alias(new Alias("test")))
.actionGet();
}

View File

@ -122,7 +122,7 @@ public class HiddenIndexIT extends OpenSearchIntegTestCase {
.indices()
.preparePutTemplate("a_global_template")
.setPatterns(Collections.singletonList("*"))
.addMapping("_doc", "foo", "type=text")
.setMapping("foo", "type=text")
.get()
);
assertAcked(
@ -130,7 +130,7 @@ public class HiddenIndexIT extends OpenSearchIntegTestCase {
.indices()
.preparePutTemplate("not_global_template")
.setPatterns(Collections.singletonList("a*"))
.addMapping("_doc", "bar", "type=text")
.setMapping("bar", "type=text")
.get()
);
assertAcked(
@ -138,7 +138,7 @@ public class HiddenIndexIT extends OpenSearchIntegTestCase {
.indices()
.preparePutTemplate("specific_template")
.setPatterns(Collections.singletonList("a_hidden_index"))
.addMapping("_doc", "baz", "type=text")
.setMapping("baz", "type=text")
.get()
);
assertAcked(
@ -146,7 +146,7 @@ public class HiddenIndexIT extends OpenSearchIntegTestCase {
.indices()
.preparePutTemplate("unused_template")
.setPatterns(Collections.singletonList("not_used"))
.addMapping("_doc", "foobar", "type=text")
.setMapping("foobar", "type=text")
.get()
);
@ -192,7 +192,7 @@ public class HiddenIndexIT extends OpenSearchIntegTestCase {
.indices()
.preparePutTemplate("a_global_template")
.setPatterns(Collections.singletonList("my_hidden_pattern*"))
.addMapping("_doc", "foo", "type=text")
.setMapping("foo", "type=text")
.setSettings(Settings.builder().put("index.hidden", true).build())
.get()
);

View File

@ -554,7 +554,7 @@ public class SimpleIndexTemplateIT extends OpenSearchIntegTestCase {
.indices()
.preparePutTemplate("template_with_aliases")
.setPatterns(Collections.singletonList("te*"))
.addMapping("_doc", "type", "type=keyword", "field", "type=text")
.setMapping("type", "type=keyword", "field", "type=text")
.addAlias(new Alias("simple_alias"))
.addAlias(new Alias("templated_alias-{index}"))
.addAlias(new Alias("filtered_alias").filter("{\"term\":{\"type\":\"type2\"}}"))
@ -820,7 +820,7 @@ public class SimpleIndexTemplateIT extends OpenSearchIntegTestCase {
.preparePutTemplate("template1")
.setPatterns(Collections.singletonList("a*"))
.setOrder(0)
.addMapping("test", "field", "type=text")
.setMapping("field", "type=text")
.addAlias(new Alias("alias1").filter(termQuery("field", "value")))
.get();
// Indexing into b index should fail, since there is field with name 'field' in the mapping
@ -930,7 +930,7 @@ public class SimpleIndexTemplateIT extends OpenSearchIntegTestCase {
.setPatterns(Collections.singletonList("te*"))
.setVersion(version)
.setOrder(order)
.addMapping("test", "field", "type=text")
.setMapping("field", "type=text")
.get()
);

View File

@ -96,7 +96,7 @@ public class TransportTwoNodesSearchIT extends OpenSearchIntegTestCase {
client().admin()
.indices()
.create(createIndexRequest("test").settings(settingsBuilder).mapping("type", "foo", "type=geo_point"))
.create(createIndexRequest("test").settings(settingsBuilder).simpleMapping("foo", "type=geo_point"))
.actionGet();
ensureGreen();

View File

@ -323,7 +323,7 @@ public class SearchAfterIT extends OpenSearchIntegTestCase {
fail("Can't match type [" + type + "]");
}
}
indexRequestBuilder.addMapping(typeName, mappings.toArray()).get();
indexRequestBuilder.addMapping(typeName, mappings.toArray(new String[0])).get();
ensureGreen();
}

View File

@ -305,11 +305,9 @@ public class CreateIndexRequest extends AcknowledgedRequest<CreateIndexRequest>
/**
* A specialized simplified mapping source method, takes the form of simple properties definition:
* ("field1", "type=string,store=true").
* @deprecated types are being removed
*/
@Deprecated
public CreateIndexRequest mapping(String type, Object... source) {
mapping(PutMappingRequest.buildFromSimplifiedDef(source));
public CreateIndexRequest simpleMapping(String... source) {
mapping(PutMappingRequest.simpleMapping(source));
return this;
}

View File

@ -144,8 +144,8 @@ public class CreateIndexRequestBuilder extends AcknowledgedRequestBuilder<
* @deprecated types are being removed
*/
@Deprecated
public CreateIndexRequestBuilder addMapping(String type, Object... source) {
request.mapping(type, source);
public CreateIndexRequestBuilder addMapping(String type, String... source) {
request.simpleMapping(source);
return this;
}

View File

@ -217,8 +217,8 @@ public class PutMappingRequest extends AcknowledgedRequest<PutMappingRequest> im
* Also supports metadata mapping fields such as `_all` and `_parent` as property definition, these metadata
* mapping fields will automatically be put on the top level mapping object.
*/
public PutMappingRequest source(Object... source) {
return source(buildFromSimplifiedDef(source));
public PutMappingRequest source(String... source) {
return source(simpleMapping(source));
}
public String origin() {
@ -239,7 +239,7 @@ public class PutMappingRequest extends AcknowledgedRequest<PutMappingRequest> im
* if the number of the source arguments is not divisible by two
* @return the mappings definition
*/
public static XContentBuilder buildFromSimplifiedDef(Object... source) {
public static XContentBuilder simpleMapping(String... source) {
if (source.length % 2 != 0) {
throw new IllegalArgumentException("mapping source must be pairs of fieldnames and properties definition.");
}
@ -248,10 +248,10 @@ public class PutMappingRequest extends AcknowledgedRequest<PutMappingRequest> im
builder.startObject();
for (int i = 0; i < source.length; i++) {
String fieldName = source[i++].toString();
String fieldName = source[i++];
if (RESERVED_FIELDS.contains(fieldName)) {
builder.startObject(fieldName);
String[] s1 = Strings.splitStringByCommaToArray(source[i].toString());
String[] s1 = Strings.splitStringByCommaToArray(source[i]);
for (String s : s1) {
String[] s2 = Strings.split(s, "=");
if (s2.length != 2) {
@ -265,13 +265,13 @@ public class PutMappingRequest extends AcknowledgedRequest<PutMappingRequest> im
builder.startObject("properties");
for (int i = 0; i < source.length; i++) {
String fieldName = source[i++].toString();
String fieldName = source[i++];
if (RESERVED_FIELDS.contains(fieldName)) {
continue;
}
builder.startObject(fieldName);
String[] s1 = Strings.splitStringByCommaToArray(source[i].toString());
String[] s1 = Strings.splitStringByCommaToArray(source[i]);
for (String s : s1) {
String[] s2 = Strings.split(s, "=");
if (s2.length != 2) {

View File

@ -102,7 +102,7 @@ public class PutMappingRequestBuilder extends AcknowledgedRequestBuilder<
* A specialized simplified mapping source method, takes the form of simple properties definition:
* ("field1", "type=string,store=true").
*/
public PutMappingRequestBuilder setSource(Object... source) {
public PutMappingRequestBuilder setSource(String... source) {
request.source(source);
return this;
}

View File

@ -84,8 +84,8 @@ public class RolloverRequestBuilder extends MasterNodeOperationRequestBuilder<Ro
return this;
}
public RolloverRequestBuilder mapping(String type, Object... source) {
this.request.getCreateIndexRequest().mapping(type, source);
public RolloverRequestBuilder simpleMapping(String... source) {
this.request.getCreateIndexRequest().simpleMapping(source);
return this;
}

View File

@ -58,6 +58,7 @@ import org.opensearch.common.xcontent.XContentParser;
import org.opensearch.common.xcontent.XContentType;
import org.opensearch.common.xcontent.json.JsonXContent;
import org.opensearch.common.xcontent.support.XContentMapValues;
import org.opensearch.index.mapper.MapperService;
import java.io.IOException;
import java.util.Collections;
@ -303,8 +304,8 @@ public class PutIndexTemplateRequest extends MasterNodeRequest<PutIndexTemplateR
* A specialized simplified mapping source method, takes the form of simple properties definition:
* ("field1", "type=string,store=true").
*/
public PutIndexTemplateRequest mapping(String type, Object... source) {
mapping(type, PutMappingRequest.buildFromSimplifiedDef(source));
public PutIndexTemplateRequest mapping(String... source) {
mapping(MapperService.SINGLE_MAPPING_NAME, PutMappingRequest.simpleMapping(source));
return this;
}

View File

@ -137,8 +137,8 @@ public class PutIndexTemplateRequestBuilder extends MasterNodeOperationRequestBu
* A specialized simplified mapping source method, takes the form of simple properties definition:
* ("field1", "type=string,store=true").
*/
public PutIndexTemplateRequestBuilder addMapping(String type, Object... source) {
request.mapping(type, source);
public PutIndexTemplateRequestBuilder setMapping(String... source) {
request.mapping(source);
return this;
}

View File

@ -92,15 +92,12 @@ public class PutMappingRequestTests extends OpenSearchTestCase {
}
/**
* Test that {@link PutMappingRequest#buildFromSimplifiedDef(Object...)}
* Test that {@link PutMappingRequest#simpleMapping(String...)}
* rejects inputs where the {@code Object...} varargs of field name and properties are not
* paired correctly
*/
public void testBuildFromSimplifiedDef() {
IllegalArgumentException e = expectThrows(
IllegalArgumentException.class,
() -> PutMappingRequest.buildFromSimplifiedDef("only_field")
);
IllegalArgumentException e = expectThrows(IllegalArgumentException.class, () -> PutMappingRequest.simpleMapping("only_field"));
assertEquals("mapping source must be pairs of fieldnames and properties definition.", e.getMessage());
}

View File

@ -73,7 +73,7 @@ public class RangeFieldQueryStringQueryBuilderTests extends AbstractQueryTestCas
"_doc",
new CompressedXContent(
Strings.toString(
PutMappingRequest.buildFromSimplifiedDef(
PutMappingRequest.simpleMapping(
INTEGER_RANGE_FIELD_NAME,
"type=integer_range",
LONG_RANGE_FIELD_NAME,

View File

@ -390,7 +390,7 @@ public class MatchQueryBuilderTests extends AbstractQueryTestCase<MatchQueryBuil
"_doc",
new CompressedXContent(
Strings.toString(
PutMappingRequest.buildFromSimplifiedDef("string_boost", "type=text", "string_no_pos", "type=text,index_options=docs")
PutMappingRequest.simpleMapping("string_boost", "type=text", "string_no_pos", "type=text,index_options=docs")
)
),
MapperService.MergeReason.MAPPING_UPDATE

View File

@ -77,7 +77,7 @@ public class NestedQueryBuilderTests extends AbstractQueryTestCase<NestedQueryBu
"_doc",
new CompressedXContent(
Strings.toString(
PutMappingRequest.buildFromSimplifiedDef(
PutMappingRequest.simpleMapping(
TEXT_FIELD_NAME,
"type=text",
INT_FIELD_NAME,

View File

@ -1096,7 +1096,7 @@ public class QueryStringQueryBuilderTests extends AbstractQueryTestCase<QueryStr
.merge(
"_doc",
new CompressedXContent(
Strings.toString(PutMappingRequest.buildFromSimplifiedDef("foo", "type=text", "_field_names", "enabled=false"))
Strings.toString(PutMappingRequest.simpleMapping("foo", "type=text", "_field_names", "enabled=false"))
),
MapperService.MergeReason.MAPPING_UPDATE
);
@ -1112,7 +1112,7 @@ public class QueryStringQueryBuilderTests extends AbstractQueryTestCase<QueryStr
.merge(
"_doc",
new CompressedXContent(
Strings.toString(PutMappingRequest.buildFromSimplifiedDef("foo", "type=text", "_field_names", "enabled=true"))
Strings.toString(PutMappingRequest.simpleMapping("foo", "type=text", "_field_names", "enabled=true"))
),
MapperService.MergeReason.MAPPING_UPDATE
);

View File

@ -93,7 +93,7 @@ public class TermsSetQueryBuilderTests extends AbstractQueryTestCase<TermsSetQue
String docType = "_doc";
mapperService.merge(
docType,
new CompressedXContent(Strings.toString(PutMappingRequest.buildFromSimplifiedDef("m_s_m", "type=long"))),
new CompressedXContent(Strings.toString(PutMappingRequest.simpleMapping("m_s_m", "type=long"))),
MapperService.MergeReason.MAPPING_UPDATE
);
}

View File

@ -438,7 +438,7 @@ public abstract class AbstractBuilderTestCase extends OpenSearchTestCase {
"_doc",
new CompressedXContent(
Strings.toString(
PutMappingRequest.buildFromSimplifiedDef(
PutMappingRequest.simpleMapping(
TEXT_FIELD_NAME,
"type=text",
KEYWORD_FIELD_NAME,

View File

@ -320,7 +320,7 @@ public abstract class OpenSearchSingleNodeTestCase extends OpenSearchTestCase {
* @deprecated types are being removed
*/
@Deprecated
protected IndexService createIndex(String index, Settings settings, String type, Object... mappings) {
protected IndexService createIndex(String index, Settings settings, String type, String... mappings) {
CreateIndexRequestBuilder createIndexRequestBuilder = client().admin().indices().prepareCreate(index).setSettings(settings);
if (type != null) {
createIndexRequestBuilder.addMapping(type, mappings);