diff --git a/CHANGELOG.md b/CHANGELOG.md index 8b415335cddac..94ab41614b4cc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -54,6 +54,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), - [Derived Source] Add integration of derived source feature across various paths like get/search/recovery ([#18565](https://github.com/opensearch-project/OpenSearch/pull/18565)) - Supporting Scripted Metric Aggregation when reducing aggregations in InternalValueCount and InternalAvg ([18411](https://github.com/opensearch-project/OpenSearch/pull18411))) - Support `search_after` numeric queries with Approximation Framework ([#18896](https://github.com/opensearch-project/OpenSearch/pull/18896)) +- Add skip_list parameter to Numeric Field Mappers (default false) ([#18889](https://github.com/opensearch-project/OpenSearch/pull/18889)) ### Changed - Update Subject interface to use CheckedRunnable ([#18570](https://github.com/opensearch-project/OpenSearch/issues/18570)) diff --git a/modules/mapper-extras/src/main/java/org/opensearch/index/mapper/ScaledFloatFieldMapper.java b/modules/mapper-extras/src/main/java/org/opensearch/index/mapper/ScaledFloatFieldMapper.java index 3f50398a1121d..cd1b303ca5124 100644 --- a/modules/mapper-extras/src/main/java/org/opensearch/index/mapper/ScaledFloatFieldMapper.java +++ b/modules/mapper-extras/src/main/java/org/opensearch/index/mapper/ScaledFloatFieldMapper.java @@ -484,7 +484,14 @@ protected void parseCreateField(ParseContext context) throws IOException { } long scaledValue = Math.round(doubleValue * scalingFactor); - List fields = NumberFieldMapper.NumberType.LONG.createFields(fieldType().name(), scaledValue, indexed, hasDocValues, stored); + List fields = NumberFieldMapper.NumberType.LONG.createFields( + fieldType().name(), + scaledValue, + indexed, + hasDocValues, + false, + stored + ); context.doc().addAll(fields); if (hasDocValues == false && (indexed || stored)) { diff --git a/modules/mapper-extras/src/main/java/org/opensearch/index/mapper/TokenCountFieldMapper.java b/modules/mapper-extras/src/main/java/org/opensearch/index/mapper/TokenCountFieldMapper.java index 1851afcf0af85..4ae0dba0d7839 100644 --- a/modules/mapper-extras/src/main/java/org/opensearch/index/mapper/TokenCountFieldMapper.java +++ b/modules/mapper-extras/src/main/java/org/opensearch/index/mapper/TokenCountFieldMapper.java @@ -173,7 +173,8 @@ protected void parseCreateField(ParseContext context) throws IOException { tokenCount = countPositions(analyzer, name(), value, enablePositionIncrements); } - context.doc().addAll(NumberFieldMapper.NumberType.INTEGER.createFields(fieldType().name(), tokenCount, index, hasDocValues, store)); + context.doc() + .addAll(NumberFieldMapper.NumberType.INTEGER.createFields(fieldType().name(), tokenCount, index, hasDocValues, false, store)); } /** diff --git a/modules/percolator/src/test/java/org/opensearch/percolator/CandidateQueryTests.java b/modules/percolator/src/test/java/org/opensearch/percolator/CandidateQueryTests.java index 1dd626f22a7f7..1c7a22be1b8f8 100644 --- a/modules/percolator/src/test/java/org/opensearch/percolator/CandidateQueryTests.java +++ b/modules/percolator/src/test/java/org/opensearch/percolator/CandidateQueryTests.java @@ -321,7 +321,7 @@ public void testDuel() throws Exception { document.add(new TextField(entry.getKey(), value, Field.Store.NO)); } for (Integer intValue : intValues) { - List numberFields = NumberFieldMapper.NumberType.INTEGER.createFields("int_field", intValue, true, true, false); + List numberFields = NumberFieldMapper.NumberType.INTEGER.createFields("int_field", intValue, true, true, false, false); for (Field numberField : numberFields) { document.add(numberField); } @@ -449,6 +449,7 @@ public void testDuel2() throws Exception { between(range[0], range[1]), true, true, + false, false ); for (Field numberField : numberFields) { diff --git a/plugins/mapper-size/src/main/java/org/opensearch/index/mapper/size/SizeFieldMapper.java b/plugins/mapper-size/src/main/java/org/opensearch/index/mapper/size/SizeFieldMapper.java index a937b5358e366..dc966a3dfc50f 100644 --- a/plugins/mapper-size/src/main/java/org/opensearch/index/mapper/size/SizeFieldMapper.java +++ b/plugins/mapper-size/src/main/java/org/opensearch/index/mapper/size/SizeFieldMapper.java @@ -99,7 +99,7 @@ public void postParse(ParseContext context) throws IOException { return; } final int value = context.sourceToParse().source().length(); - context.doc().addAll(NumberType.INTEGER.createFields(name(), value, true, true, true)); + context.doc().addAll(NumberType.INTEGER.createFields(name(), value, true, true, false, true)); } @Override diff --git a/server/src/main/java/org/opensearch/index/mapper/NumberFieldMapper.java b/server/src/main/java/org/opensearch/index/mapper/NumberFieldMapper.java index 6fa91e33df7ae..30281b46c7c55 100644 --- a/server/src/main/java/org/opensearch/index/mapper/NumberFieldMapper.java +++ b/server/src/main/java/org/opensearch/index/mapper/NumberFieldMapper.java @@ -58,6 +58,7 @@ import org.opensearch.common.settings.Setting; import org.opensearch.common.settings.Setting.Property; import org.opensearch.common.settings.Settings; +import org.opensearch.common.xcontent.support.XContentMapValues; import org.opensearch.core.common.bytes.BytesArray; import org.opensearch.core.xcontent.XContentBuilder; import org.opensearch.core.xcontent.XContentParser; @@ -118,6 +119,13 @@ public static class Builder extends ParametrizedFieldMapper.Builder { private final Parameter indexed = Parameter.indexParam(m -> toType(m).indexed, true); private final Parameter hasDocValues = Parameter.docValuesParam(m -> toType(m).hasDocValues, true); private final Parameter stored = Parameter.storeParam(m -> toType(m).stored, false); + private final Parameter skiplist = new Parameter<>( + "skip_list", + false, + () -> false, + (n, c, o) -> XContentMapValues.nodeBooleanValue(o), + m -> toType(m).skiplist + ); private final Parameter> ignoreMalformed; private final Parameter> coerce; @@ -169,7 +177,7 @@ public Builder docValues(boolean hasDocValues) { @Override protected List> getParameters() { - return Arrays.asList(indexed, hasDocValues, stored, ignoreMalformed, coerce, nullValue, meta); + return Arrays.asList(indexed, hasDocValues, stored, skiplist, ignoreMalformed, coerce, nullValue, meta); } @Override @@ -416,13 +424,26 @@ public Query rangeQuery( } @Override - public List createFields(String name, Number value, boolean indexed, boolean docValued, boolean stored) { + public List createFields( + String name, + Number value, + boolean indexed, + boolean docValued, + boolean skiplist, + boolean stored + ) { List fields = new ArrayList<>(); if (indexed) { fields.add(new HalfFloatPoint(name, value.floatValue())); } if (docValued) { - fields.add(new SortedNumericDocValuesField(name, HalfFloatPoint.halfFloatToSortableShort(value.floatValue()))); + if (skiplist) { + fields.add( + SortedNumericDocValuesField.indexedField(name, HalfFloatPoint.halfFloatToSortableShort(value.floatValue())) + ); + } else { + fields.add(new SortedNumericDocValuesField(name, HalfFloatPoint.halfFloatToSortableShort(value.floatValue()))); + } } if (stored) { fields.add(new StoredField(name, value.floatValue())); @@ -603,13 +624,24 @@ public Query rangeQuery( } @Override - public List createFields(String name, Number value, boolean indexed, boolean docValued, boolean stored) { + public List createFields( + String name, + Number value, + boolean indexed, + boolean docValued, + boolean skiplist, + boolean stored + ) { List fields = new ArrayList<>(); if (indexed) { fields.add(new FloatPoint(name, value.floatValue())); } if (docValued) { - fields.add(new SortedNumericDocValuesField(name, NumericUtils.floatToSortableInt(value.floatValue()))); + if (skiplist) { + fields.add(SortedNumericDocValuesField.indexedField(name, NumericUtils.floatToSortableInt(value.floatValue()))); + } else { + fields.add(new SortedNumericDocValuesField(name, NumericUtils.floatToSortableInt(value.floatValue()))); + } } if (stored) { fields.add(new StoredField(name, value.floatValue())); @@ -766,13 +798,24 @@ public Query rangeQuery( } @Override - public List createFields(String name, Number value, boolean indexed, boolean docValued, boolean stored) { + public List createFields( + String name, + Number value, + boolean indexed, + boolean docValued, + boolean skiplist, + boolean stored + ) { List fields = new ArrayList<>(); if (indexed) { fields.add(new DoublePoint(name, value.doubleValue())); } if (docValued) { - fields.add(new SortedNumericDocValuesField(name, NumericUtils.doubleToSortableLong(value.doubleValue()))); + if (skiplist) { + fields.add(SortedNumericDocValuesField.indexedField(name, NumericUtils.doubleToSortableLong(value.doubleValue()))); + } else { + fields.add(new SortedNumericDocValuesField(name, NumericUtils.doubleToSortableLong(value.doubleValue()))); + } } if (stored) { fields.add(new StoredField(name, value.doubleValue())); @@ -878,8 +921,15 @@ public Query rangeQuery( } @Override - public List createFields(String name, Number value, boolean indexed, boolean docValued, boolean stored) { - return INTEGER.createFields(name, value, indexed, docValued, stored); + public List createFields( + String name, + Number value, + boolean indexed, + boolean docValued, + boolean skiplist, + boolean stored + ) { + return INTEGER.createFields(name, value, indexed, docValued, skiplist, stored); } @Override @@ -974,8 +1024,15 @@ public Query rangeQuery( } @Override - public List createFields(String name, Number value, boolean indexed, boolean docValued, boolean stored) { - return INTEGER.createFields(name, value, indexed, docValued, stored); + public List createFields( + String name, + Number value, + boolean indexed, + boolean docValued, + boolean skiplist, + boolean stored + ) { + return INTEGER.createFields(name, value, indexed, docValued, skiplist, stored); } @Override @@ -1185,13 +1242,24 @@ public Query rangeQuery( } @Override - public List createFields(String name, Number value, boolean indexed, boolean docValued, boolean stored) { + public List createFields( + String name, + Number value, + boolean indexed, + boolean docValued, + boolean skiplist, + boolean stored + ) { List fields = new ArrayList<>(); if (indexed) { fields.add(new IntPoint(name, value.intValue())); } if (docValued) { - fields.add(new SortedNumericDocValuesField(name, value.intValue())); + if (skiplist) { + fields.add(SortedNumericDocValuesField.indexedField(name, value.intValue())); + } else { + fields.add(new SortedNumericDocValuesField(name, value.intValue())); + } } if (stored) { fields.add(new StoredField(name, value.intValue())); @@ -1344,13 +1412,24 @@ public Query rangeQuery( } @Override - public List createFields(String name, Number value, boolean indexed, boolean docValued, boolean stored) { + public List createFields( + String name, + Number value, + boolean indexed, + boolean docValued, + boolean skiplist, + boolean stored + ) { List fields = new ArrayList<>(); if (indexed) { fields.add(new LongPoint(name, value.longValue())); } if (docValued) { - fields.add(new SortedNumericDocValuesField(name, value.longValue())); + if (skiplist) { + fields.add(SortedNumericDocValuesField.indexedField(name, value.longValue())); + } else { + fields.add(new SortedNumericDocValuesField(name, value.longValue())); + } } if (stored) { fields.add(new StoredField(name, value.longValue())); @@ -1491,7 +1570,14 @@ public Query rangeQuery( } @Override - public List createFields(String name, Number value, boolean indexed, boolean docValued, boolean stored) { + public List createFields( + String name, + Number value, + boolean indexed, + boolean docValued, + boolean skiplist, + boolean stored + ) { List fields = new ArrayList<>(); final BigInteger v = Numbers.toUnsignedLongExact(value); @@ -1500,7 +1586,11 @@ public List createFields(String name, Number value, boolean indexed, bool } if (docValued) { - fields.add(new SortedNumericDocValuesField(name, v.longValue())); + if (skiplist) { + fields.add(SortedNumericDocValuesField.indexedField(name, v.longValue())); + } else { + fields.add(new SortedNumericDocValuesField(name, v.longValue())); + } } if (stored) { @@ -1569,7 +1659,14 @@ public abstract Query rangeQuery( public abstract Number parsePoint(byte[] value); - public abstract List createFields(String name, Number value, boolean indexed, boolean docValued, boolean stored); + public abstract List createFields( + String name, + Number value, + boolean indexed, + boolean docValued, + boolean skiplist, + boolean stored + ); abstract Number valueForSearch(String value); @@ -1987,6 +2084,7 @@ public Number parse(Object value) { private final boolean indexed; private final boolean hasDocValues; private final boolean stored; + private final boolean skiplist; private final Explicit ignoreMalformed; private final Explicit coerce; private final Number nullValue; @@ -2000,6 +2098,7 @@ private NumberFieldMapper(String simpleName, MappedFieldType mappedFieldType, Mu this.indexed = builder.indexed.getValue(); this.hasDocValues = builder.hasDocValues.getValue(); this.stored = builder.stored.getValue(); + this.skiplist = builder.skiplist.getValue(); this.ignoreMalformed = builder.ignoreMalformed.getValue(); this.coerce = builder.coerce.getValue(); this.nullValue = builder.nullValue.getValue(); @@ -2068,7 +2167,7 @@ protected void parseCreateField(ParseContext context) throws IOException { numericValue = fieldType().type.parse(value, coerce.value()); } - context.doc().addAll(fieldType().type.createFields(fieldType().name(), numericValue, indexed, hasDocValues, stored)); + context.doc().addAll(fieldType().type.createFields(fieldType().name(), numericValue, indexed, hasDocValues, skiplist, stored)); if (hasDocValues == false && (stored || indexed)) { createFieldNamesField(context); diff --git a/server/src/test/java/org/opensearch/index/fielddata/plain/HalfFloatFielddataTests.java b/server/src/test/java/org/opensearch/index/fielddata/plain/HalfFloatFielddataTests.java index b5d936910b84c..c60dedd57bbcc 100644 --- a/server/src/test/java/org/opensearch/index/fielddata/plain/HalfFloatFielddataTests.java +++ b/server/src/test/java/org/opensearch/index/fielddata/plain/HalfFloatFielddataTests.java @@ -55,7 +55,7 @@ public void testSingleValued() throws IOException { // we need the default codec to check for singletons IndexWriter w = new IndexWriter(dir, new IndexWriterConfig(null).setCodec(TestUtil.getDefaultCodec())); Document doc = new Document(); - for (IndexableField f : NumberFieldMapper.NumberType.HALF_FLOAT.createFields("half_float", 3f, false, true, false)) { + for (IndexableField f : NumberFieldMapper.NumberType.HALF_FLOAT.createFields("half_float", 3f, false, true, false, false)) { doc.add(f); } w.addDocument(doc); @@ -74,10 +74,10 @@ public void testMultiValued() throws IOException { Directory dir = newDirectory(); IndexWriter w = new IndexWriter(dir, new IndexWriterConfig(null)); Document doc = new Document(); - for (IndexableField f : NumberFieldMapper.NumberType.HALF_FLOAT.createFields("half_float", 3f, false, true, false)) { + for (IndexableField f : NumberFieldMapper.NumberType.HALF_FLOAT.createFields("half_float", 3f, false, true, false, false)) { doc.add(f); } - for (IndexableField f : NumberFieldMapper.NumberType.HALF_FLOAT.createFields("half_float", 2f, false, true, false)) { + for (IndexableField f : NumberFieldMapper.NumberType.HALF_FLOAT.createFields("half_float", 2f, false, true, false, false)) { doc.add(f); } w.addDocument(doc); diff --git a/server/src/test/java/org/opensearch/index/mapper/NumberFieldMapperTests.java b/server/src/test/java/org/opensearch/index/mapper/NumberFieldMapperTests.java index 86153c4e4bb52..02e54491f396c 100644 --- a/server/src/test/java/org/opensearch/index/mapper/NumberFieldMapperTests.java +++ b/server/src/test/java/org/opensearch/index/mapper/NumberFieldMapperTests.java @@ -40,6 +40,7 @@ import org.apache.lucene.document.SortedNumericDocValuesField; import org.apache.lucene.document.StoredField; import org.apache.lucene.index.DirectoryReader; +import org.apache.lucene.index.DocValuesSkipIndexType; import org.apache.lucene.index.DocValuesType; import org.apache.lucene.index.IndexWriter; import org.apache.lucene.index.IndexWriterConfig; @@ -127,7 +128,9 @@ public void doTestDefaults(String type) throws Exception { assertEquals(123, pointField.numericValue().doubleValue(), 0d); IndexableField dvField = fields[1]; assertEquals(DocValuesType.SORTED_NUMERIC, dvField.fieldType().docValuesType()); + assertEquals(DocValuesSkipIndexType.NONE, dvField.fieldType().docValuesSkipIndexType()); assertFalse(dvField.fieldType().stored()); + } @Override @@ -139,6 +142,7 @@ public void doTestNotIndexed(String type) throws Exception { assertEquals(1, fields.length); IndexableField dvField = fields[0]; assertEquals(DocValuesType.SORTED_NUMERIC, dvField.fieldType().docValuesType()); + assertEquals(DocValuesSkipIndexType.NONE, dvField.fieldType().docValuesSkipIndexType()); } @Override @@ -165,6 +169,7 @@ public void doTestStore(String type) throws Exception { assertEquals(123, pointField.numericValue().doubleValue(), 0d); IndexableField dvField = fields[1]; assertEquals(DocValuesType.SORTED_NUMERIC, dvField.fieldType().docValuesType()); + assertEquals(DocValuesSkipIndexType.NONE, dvField.fieldType().docValuesSkipIndexType()); IndexableField storedField = fields[2]; assertTrue(storedField.fieldType().stored()); // The 'unsigned_long' is stored as a string @@ -478,6 +483,21 @@ public void testUnsignedLongFieldDerivedValueFetchingMultiValue_DocValues() thro } } + public void testSkipList() throws IOException { + for (String type : types()) { + DocumentMapper mapper = createDocumentMapper( + fieldMapping(b -> b.field("type", type).field("index", false).field("skip_list", true)) + ); + ParsedDocument doc = mapper.parse(source(b -> b.field("field", 123))); + + IndexableField[] fields = doc.rootDoc().getFields("field"); + assertEquals(1, fields.length); + IndexableField dvField = fields[0]; + assertEquals(DocValuesType.SORTED_NUMERIC, dvField.fieldType().docValuesType()); + assertEquals(DocValuesSkipIndexType.RANGE, dvField.fieldType().docValuesSkipIndexType()); + } + } + private NumberFieldMapper getMapper(NumberType numberType, FieldMapper.CopyTo copyTo, boolean hasDocValues, boolean isStored) throws IOException { MapperService mapperService = createMapperService( diff --git a/server/src/test/java/org/opensearch/index/mapper/NumberFieldTypeTests.java b/server/src/test/java/org/opensearch/index/mapper/NumberFieldTypeTests.java index 5fc771a422c01..8d794220ea6c5 100644 --- a/server/src/test/java/org/opensearch/index/mapper/NumberFieldTypeTests.java +++ b/server/src/test/java/org/opensearch/index/mapper/NumberFieldTypeTests.java @@ -687,7 +687,7 @@ public void doTestDocValueRangeQueries(NumberType type, Supplier valueSu IndexWriter w = new IndexWriter(dir, newIndexWriterConfig()); final int numDocs = TestUtil.nextInt(random(), 100, 500); for (int i = 0; i < numDocs; ++i) { - w.addDocument(type.createFields("foo", valueSupplier.get(), true, true, false)); + w.addDocument(type.createFields("foo", valueSupplier.get(), true, true, false, false)); } DirectoryReader reader = DirectoryReader.open(w); IndexSearcher searcher = newSearcher(reader); @@ -752,7 +752,7 @@ public void doTestIndexSortRangeQueries(NumberType type, Supplier valueS IndexWriter w = new IndexWriter(dir, writerConfig); final int numDocs = TestUtil.nextInt(random(), 100, 500); for (int i = 0; i < numDocs; ++i) { - w.addDocument(type.createFields("field", valueSupplier.get(), true, true, false)); + w.addDocument(type.createFields("field", valueSupplier.get(), true, true, false, false)); } // Ensure that the optimized index sort query gives the same results as a points query. diff --git a/server/src/test/java/org/opensearch/search/aggregations/bucket/filterrewrite/FilterRewriteSubAggTests.java b/server/src/test/java/org/opensearch/search/aggregations/bucket/filterrewrite/FilterRewriteSubAggTests.java index 1187eeac34d84..4221a2837387d 100644 --- a/server/src/test/java/org/opensearch/search/aggregations/bucket/filterrewrite/FilterRewriteSubAggTests.java +++ b/server/src/test/java/org/opensearch/search/aggregations/bucket/filterrewrite/FilterRewriteSubAggTests.java @@ -422,7 +422,7 @@ public TestDoc(long metric, Instant timestamp) { public ParseContext.Document toDocument() { ParseContext.Document doc = new ParseContext.Document(); - List fieldList = numberType.createFields(longFieldName, metric, true, true, false); + List fieldList = numberType.createFields(longFieldName, metric, true, true, false, false); for (Field fld : fieldList) doc.add(fld); doc.add(new LongField(dateFieldName, dateFieldType.parse(timestamp.toString()), Field.Store.NO)); diff --git a/server/src/test/java/org/opensearch/search/aggregations/bucket/range/RangeAggregatorTests.java b/server/src/test/java/org/opensearch/search/aggregations/bucket/range/RangeAggregatorTests.java index 630326967aae1..5eb6a5c140634 100644 --- a/server/src/test/java/org/opensearch/search/aggregations/bucket/range/RangeAggregatorTests.java +++ b/server/src/test/java/org/opensearch/search/aggregations/bucket/range/RangeAggregatorTests.java @@ -542,9 +542,9 @@ public void testTopLevelFilterTermQuery() throws IOException { for (int i = 0; i < 3; i++) docList.add(new Document()); - docList.get(0).addAll(numType.createFields(numType.typeName(), 3.0, true, true, false)); - docList.get(1).addAll(numType.createFields(numType.typeName(), 11.0, true, true, false)); - docList.get(2).addAll(numType.createFields(numType.typeName(), 15.0, true, true, false)); + docList.get(0).addAll(numType.createFields(numType.typeName(), 3.0, true, true, false, false)); + docList.get(1).addAll(numType.createFields(numType.typeName(), 11.0, true, true, false, false)); + docList.get(2).addAll(numType.createFields(numType.typeName(), 15.0, true, true, false, false)); docList.get(0).add(new KeywordField(KEYWORD_FIELD_NAME, "route1", Field.Store.NO)); docList.get(1).add(new KeywordField(KEYWORD_FIELD_NAME, "route1", Field.Store.NO)); docList.get(2).add(new KeywordField(KEYWORD_FIELD_NAME, "route2", Field.Store.NO)); @@ -577,9 +577,9 @@ public void testTopLevelEffectiveMatchAll() throws IOException { for (int i = 0; i < 3; i++) docList.add(new Document()); - docList.get(0).addAll(numType.createFields(numType.typeName(), 3.0, true, true, false)); - docList.get(1).addAll(numType.createFields(numType.typeName(), 11.0, true, true, false)); - docList.get(2).addAll(numType.createFields(numType.typeName(), 15.0, true, true, false)); + docList.get(0).addAll(numType.createFields(numType.typeName(), 3.0, true, true, false, false)); + docList.get(1).addAll(numType.createFields(numType.typeName(), 11.0, true, true, false, false)); + docList.get(2).addAll(numType.createFields(numType.typeName(), 15.0, true, true, false, false)); docList.get(0).add(new KeywordField(KEYWORD_FIELD_NAME, "route1", Field.Store.NO)); docList.get(1).add(new KeywordField(KEYWORD_FIELD_NAME, "route1", Field.Store.NO)); docList.get(2).add(new KeywordField(KEYWORD_FIELD_NAME, "route1", Field.Store.NO)); @@ -662,7 +662,7 @@ private void testRewriteOptimizationCase( for (Number dataPoint : dataPoints) { Document doc = new Document(); - List fieldList = numberType.createFields(fieldName, dataPoint, true, true, false); + List fieldList = numberType.createFields(fieldName, dataPoint, true, true, false, false); for (Field fld : fieldList) doc.add(fld); docs.add(doc); diff --git a/server/src/test/java/org/opensearch/search/aggregations/bucket/terms/SignificantTermsAggregatorTests.java b/server/src/test/java/org/opensearch/search/aggregations/bucket/terms/SignificantTermsAggregatorTests.java index a106ef47dc469..fb1a52b789011 100644 --- a/server/src/test/java/org/opensearch/search/aggregations/bucket/terms/SignificantTermsAggregatorTests.java +++ b/server/src/test/java/org/opensearch/search/aggregations/bucket/terms/SignificantTermsAggregatorTests.java @@ -221,13 +221,13 @@ public void testNumericSignificance() throws IOException { for (int i = 0; i < 10; i++) { Document doc = new Document(); if (i % 2 == 0) { - addFields(doc, NumberType.LONG.createFields("long_field", ODD_VALUE, true, true, false)); + addFields(doc, NumberType.LONG.createFields("long_field", ODD_VALUE, true, true, false, false)); doc.add(new Field("text", "odd", TextFieldMapper.Defaults.FIELD_TYPE)); } else { - addFields(doc, NumberType.LONG.createFields("long_field", EVEN_VALUE, true, true, false)); + addFields(doc, NumberType.LONG.createFields("long_field", EVEN_VALUE, true, true, false, false)); doc.add(new Field("text", "even", TextFieldMapper.Defaults.FIELD_TYPE)); } - addFields(doc, NumberType.LONG.createFields("long_field", COMMON_VALUE, true, true, false)); + addFields(doc, NumberType.LONG.createFields("long_field", COMMON_VALUE, true, true, false, false)); w.addDocument(doc); }