Skip to content

Commit dc90634

Browse files
Always write doc_values param to mapping for wildcard field (#16988) (#17182)
(cherry picked from commit cd149a9) Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
1 parent 2187369 commit dc90634

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
@@ -101,7 +101,7 @@ public static final class Builder extends ParametrizedFieldMapper.Builder {
101101
);
102102
private final Parameter<String> normalizer = Parameter.stringParam("normalizer", false, m -> toType(m).normalizerName, "default");
103103
private final Parameter<Map<String, String>> meta = Parameter.metaParam();
104-
private final Parameter<Boolean> hasDocValues = Parameter.docValuesParam(m -> toType(m).hasDocValues, false);
104+
private final Parameter<Boolean> hasDocValues = Parameter.docValuesParam(m -> toType(m).hasDocValues, false).alwaysSerialize();
105105
private final IndexAnalyzers indexAnalyzers;
106106

107107
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)