Skip to content

Commit cd149a9

Browse files
authored
Always write doc_values param to mapping for wildcard field (#16988)
1 parent b2ee0e3 commit cd149a9

File tree

2 files changed

+6
-2
lines changed

2 files changed

+6
-2
lines changed

server/src/main/java/org/opensearch/index/mapper/WildcardFieldMapper.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ public static final class Builder extends ParametrizedFieldMapper.Builder {
102102
);
103103
private final Parameter<String> normalizer = Parameter.stringParam("normalizer", false, m -> toType(m).normalizerName, "default");
104104
private final Parameter<Map<String, String>> meta = Parameter.metaParam();
105-
private final Parameter<Boolean> hasDocValues = Parameter.docValuesParam(m -> toType(m).hasDocValues, false);
105+
private final Parameter<Boolean> hasDocValues = Parameter.docValuesParam(m -> toType(m).hasDocValues, false).alwaysSerialize();
106106
private final IndexAnalyzers indexAnalyzers;
107107

108108
public Builder(String name, IndexAnalyzers indexAnalyzers) {

server/src/test/java/org/opensearch/index/mapper/WildcardFieldMapperTests.java

+5-1
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ public class WildcardFieldMapperTests extends MapperTestCase {
4949
@Override
5050
protected void minimalMapping(XContentBuilder b) throws IOException {
5151
b.field("type", "wildcard");
52+
b.field("doc_values", false);
5253
}
5354

5455
@Override
@@ -59,7 +60,10 @@ protected void writeFieldValue(XContentBuilder builder) throws IOException {
5960
@Override
6061
protected void registerParameters(ParameterChecker checker) throws IOException {
6162
checker.registerConflictCheck("normalizer", b -> b.field("normalizer", "lowercase"));
62-
checker.registerConflictCheck("doc_values", b -> b.field("doc_values", true));
63+
checker.registerConflictCheck("doc_values", fieldMapping(this::minimalMapping), fieldMapping(xcb -> {
64+
xcb.field("type", "wildcard");
65+
xcb.field("doc_values", true);
66+
}));
6367
checker.registerConflictCheck("null_value", b -> b.field("null_value", "foo"));
6468
checker.registerUpdateCheck(b -> b.field("ignore_above", 256), m -> assertEquals(256, ((WildcardFieldMapper) m).ignoreAbove()));
6569
}

0 commit comments

Comments
 (0)