diff --git a/modules/mapper-extras/src/main/java/org/elasticsearch/index/mapper/ScaledFloatFieldMapper.java b/modules/mapper-extras/src/main/java/org/elasticsearch/index/mapper/ScaledFloatFieldMapper.java index a3818b818d442..b204b29eb587e 100644 --- a/modules/mapper-extras/src/main/java/org/elasticsearch/index/mapper/ScaledFloatFieldMapper.java +++ b/modules/mapper-extras/src/main/java/org/elasticsearch/index/mapper/ScaledFloatFieldMapper.java @@ -38,7 +38,6 @@ import org.elasticsearch.common.xcontent.XContentParser; import org.elasticsearch.common.xcontent.XContentParser.Token; import org.elasticsearch.common.xcontent.support.XContentMapValues; -import org.elasticsearch.index.IndexSettings; import org.elasticsearch.index.fielddata.FieldData; import org.elasticsearch.index.fielddata.IndexFieldData; import org.elasticsearch.index.fielddata.IndexFieldDataCache; @@ -267,12 +266,15 @@ public IndexFieldData.Builder fielddataBuilder(String fullyQualifiedIndexName) { failIfNoDocValues(); return new IndexFieldData.Builder() { @Override - public IndexFieldData build(IndexSettings indexSettings, MappedFieldType fieldType, IndexFieldDataCache cache, - CircuitBreakerService breakerService, MapperService mapperService) { + public IndexFieldData build( + IndexFieldDataCache cache, + CircuitBreakerService breakerService, + MapperService mapperService + ) { final IndexNumericFieldData scaledValues = new SortedNumericIndexFieldData.Builder( + name(), IndexNumericFieldData.NumericType.LONG - ) - .build(indexSettings, fieldType, cache, breakerService, mapperService); + ).build(cache, breakerService, mapperService); return new ScaledFloatIndexFieldData(scaledValues, scalingFactor); } }; diff --git a/modules/mapper-extras/src/test/java/org/elasticsearch/index/mapper/ScaledFloatFieldTypeTests.java b/modules/mapper-extras/src/test/java/org/elasticsearch/index/mapper/ScaledFloatFieldTypeTests.java index c0031d5b3789f..64d7115196c0f 100644 --- a/modules/mapper-extras/src/test/java/org/elasticsearch/index/mapper/ScaledFloatFieldTypeTests.java +++ b/modules/mapper-extras/src/test/java/org/elasticsearch/index/mapper/ScaledFloatFieldTypeTests.java @@ -29,11 +29,7 @@ import org.apache.lucene.search.IndexSearcher; import org.apache.lucene.search.Query; import org.apache.lucene.store.Directory; -import org.elasticsearch.Version; -import org.elasticsearch.cluster.metadata.IndexMetadata; -import org.elasticsearch.common.settings.Settings; import org.elasticsearch.core.internal.io.IOUtils; -import org.elasticsearch.index.IndexSettings; import org.elasticsearch.index.fielddata.IndexNumericFieldData; import org.elasticsearch.index.fielddata.LeafNumericFieldData; import org.elasticsearch.index.fielddata.SortedNumericDoubleValues; @@ -151,18 +147,10 @@ public void testFieldData() throws IOException { doc.add(new SortedNumericDocValuesField("scaled_float2", 12)); w.addDocument(doc); try (DirectoryReader reader = DirectoryReader.open(w)) { - IndexMetadata indexMetadata = new IndexMetadata.Builder("index").settings( - Settings.builder() - .put("index.version.created", Version.CURRENT) - .put("index.number_of_shards", 1) - .put("index.number_of_replicas", 0).build()).build(); - IndexSettings indexSettings = new IndexSettings(indexMetadata, Settings.EMPTY); - // single-valued ScaledFloatFieldMapper.ScaledFloatFieldType f1 = new ScaledFloatFieldMapper.ScaledFloatFieldType("scaled_float1", scalingFactor); - IndexNumericFieldData fielddata = (IndexNumericFieldData) f1.fielddataBuilder("index") - .build(indexSettings, f1, null, null, null); + IndexNumericFieldData fielddata = (IndexNumericFieldData) f1.fielddataBuilder("index").build(null, null, null); assertEquals(fielddata.getNumericType(), IndexNumericFieldData.NumericType.DOUBLE); LeafNumericFieldData leafFieldData = fielddata.load(reader.leaves().get(0)); SortedNumericDoubleValues values = leafFieldData.getDoubleValues(); @@ -173,7 +161,7 @@ public void testFieldData() throws IOException { // multi-valued ScaledFloatFieldMapper.ScaledFloatFieldType f2 = new ScaledFloatFieldMapper.ScaledFloatFieldType("scaled_float2", scalingFactor); - fielddata = (IndexNumericFieldData) f2.fielddataBuilder("index").build(indexSettings, f2, null, null, null); + fielddata = (IndexNumericFieldData) f2.fielddataBuilder("index").build(null, null, null); leafFieldData = fielddata.load(reader.leaves().get(0)); values = leafFieldData.getDoubleValues(); assertTrue(values.advanceExact(0)); diff --git a/modules/parent-join/src/main/java/org/elasticsearch/join/mapper/MetaJoinFieldMapper.java b/modules/parent-join/src/main/java/org/elasticsearch/join/mapper/MetaJoinFieldMapper.java index ed9fe5b76689c..5900de9cabe58 100644 --- a/modules/parent-join/src/main/java/org/elasticsearch/join/mapper/MetaJoinFieldMapper.java +++ b/modules/parent-join/src/main/java/org/elasticsearch/join/mapper/MetaJoinFieldMapper.java @@ -90,7 +90,7 @@ public String typeName() { @Override public IndexFieldData.Builder fielddataBuilder(String fullyQualifiedIndexName) { failIfNoDocValues(); - return new SortedSetOrdinalsIndexFieldData.Builder(CoreValuesSourceType.BYTES); + return new SortedSetOrdinalsIndexFieldData.Builder(name(), CoreValuesSourceType.BYTES); } @Override diff --git a/modules/parent-join/src/main/java/org/elasticsearch/join/mapper/ParentIdFieldMapper.java b/modules/parent-join/src/main/java/org/elasticsearch/join/mapper/ParentIdFieldMapper.java index 88a7c455c7bc6..0f1216b17729d 100644 --- a/modules/parent-join/src/main/java/org/elasticsearch/join/mapper/ParentIdFieldMapper.java +++ b/modules/parent-join/src/main/java/org/elasticsearch/join/mapper/ParentIdFieldMapper.java @@ -108,7 +108,7 @@ public String typeName() { @Override public IndexFieldData.Builder fielddataBuilder(String fullyQualifiedIndexName) { failIfNoDocValues(); - return new SortedSetOrdinalsIndexFieldData.Builder(CoreValuesSourceType.BYTES); + return new SortedSetOrdinalsIndexFieldData.Builder(name(), CoreValuesSourceType.BYTES); } @Override diff --git a/modules/parent-join/src/main/java/org/elasticsearch/join/mapper/ParentJoinFieldMapper.java b/modules/parent-join/src/main/java/org/elasticsearch/join/mapper/ParentJoinFieldMapper.java index 7fbdee9d23ba2..f1dbe83e95eb8 100644 --- a/modules/parent-join/src/main/java/org/elasticsearch/join/mapper/ParentJoinFieldMapper.java +++ b/modules/parent-join/src/main/java/org/elasticsearch/join/mapper/ParentJoinFieldMapper.java @@ -218,7 +218,7 @@ public String typeName() { @Override public IndexFieldData.Builder fielddataBuilder(String fullyQualifiedIndexName) { failIfNoDocValues(); - return new SortedSetOrdinalsIndexFieldData.Builder(CoreValuesSourceType.BYTES); + return new SortedSetOrdinalsIndexFieldData.Builder(name(), CoreValuesSourceType.BYTES); } @Override diff --git a/modules/percolator/src/main/java/org/elasticsearch/percolator/PercolateQueryBuilder.java b/modules/percolator/src/main/java/org/elasticsearch/percolator/PercolateQueryBuilder.java index 94b04aff0c938..c5f9dd3c7800d 100644 --- a/modules/percolator/src/main/java/org/elasticsearch/percolator/PercolateQueryBuilder.java +++ b/modules/percolator/src/main/java/org/elasticsearch/percolator/PercolateQueryBuilder.java @@ -620,8 +620,7 @@ public > IFD getForField(MappedFieldType fieldType IndexFieldData.Builder builder = fieldType.fielddataBuilder(shardContext.getFullyQualifiedIndex().getName()); IndexFieldDataCache cache = new IndexFieldDataCache.None(); CircuitBreakerService circuitBreaker = new NoneCircuitBreakerService(); - return (IFD) builder.build(shardContext.getIndexSettings(), fieldType, cache, circuitBreaker, - shardContext.getMapperService()); + return (IFD) builder.build(cache, circuitBreaker, shardContext.getMapperService()); } }; } diff --git a/plugins/analysis-icu/src/main/java/org/elasticsearch/index/mapper/ICUCollationKeywordFieldMapper.java b/plugins/analysis-icu/src/main/java/org/elasticsearch/index/mapper/ICUCollationKeywordFieldMapper.java index 108cbc719e08a..8796684da5201 100644 --- a/plugins/analysis-icu/src/main/java/org/elasticsearch/index/mapper/ICUCollationKeywordFieldMapper.java +++ b/plugins/analysis-icu/src/main/java/org/elasticsearch/index/mapper/ICUCollationKeywordFieldMapper.java @@ -107,7 +107,7 @@ public Query existsQuery(QueryShardContext context) { @Override public IndexFieldData.Builder fielddataBuilder(String fullyQualifiedIndexName) { failIfNoDocValues(); - return new SortedSetOrdinalsIndexFieldData.Builder(CoreValuesSourceType.BYTES); + return new SortedSetOrdinalsIndexFieldData.Builder(name(), CoreValuesSourceType.BYTES); } @Override diff --git a/plugins/mapper-murmur3/src/main/java/org/elasticsearch/index/mapper/murmur3/Murmur3FieldMapper.java b/plugins/mapper-murmur3/src/main/java/org/elasticsearch/index/mapper/murmur3/Murmur3FieldMapper.java index 4be96ad4be03a..ee3fe9c90d071 100644 --- a/plugins/mapper-murmur3/src/main/java/org/elasticsearch/index/mapper/murmur3/Murmur3FieldMapper.java +++ b/plugins/mapper-murmur3/src/main/java/org/elasticsearch/index/mapper/murmur3/Murmur3FieldMapper.java @@ -104,7 +104,7 @@ public String typeName() { @Override public IndexFieldData.Builder fielddataBuilder(String fullyQualifiedIndexName) { failIfNoDocValues(); - return new SortedNumericIndexFieldData.Builder(NumericType.LONG); + return new SortedNumericIndexFieldData.Builder(name(), NumericType.LONG); } @Override diff --git a/server/src/main/java/org/elasticsearch/index/fielddata/IndexFieldData.java b/server/src/main/java/org/elasticsearch/index/fielddata/IndexFieldData.java index 9968fac5caa0e..f3bdb9997679e 100644 --- a/server/src/main/java/org/elasticsearch/index/fielddata/IndexFieldData.java +++ b/server/src/main/java/org/elasticsearch/index/fielddata/IndexFieldData.java @@ -36,9 +36,7 @@ import org.apache.lucene.util.BytesRef; import org.elasticsearch.common.Nullable; import org.elasticsearch.common.util.BigArrays; -import org.elasticsearch.index.IndexSettings; import org.elasticsearch.index.fielddata.IndexFieldData.XFieldComparatorSource.Nested; -import org.elasticsearch.index.mapper.MappedFieldType; import org.elasticsearch.index.mapper.MapperService; import org.elasticsearch.indices.breaker.CircuitBreakerService; import org.elasticsearch.search.DocValueFormat; @@ -253,8 +251,7 @@ public abstract BucketedSort newBucketedSort(BigArrays bigArrays, SortOrder sort interface Builder { - IndexFieldData build(IndexSettings indexSettings, MappedFieldType fieldType, IndexFieldDataCache cache, - CircuitBreakerService breakerService, MapperService mapperService); + IndexFieldData build(IndexFieldDataCache cache, CircuitBreakerService breakerService, MapperService mapperService); } interface Global extends IndexFieldData { diff --git a/server/src/main/java/org/elasticsearch/index/fielddata/IndexFieldDataService.java b/server/src/main/java/org/elasticsearch/index/fielddata/IndexFieldDataService.java index db5a7b437d35f..324728e8b090c 100644 --- a/server/src/main/java/org/elasticsearch/index/fielddata/IndexFieldDataService.java +++ b/server/src/main/java/org/elasticsearch/index/fielddata/IndexFieldDataService.java @@ -131,7 +131,7 @@ public > IFD getForField(MappedFieldType fieldType } } - return (IFD) builder.build(indexSettings, fieldType, cache, circuitBreakerService, mapperService); + return (IFD) builder.build(cache, circuitBreakerService, mapperService); } /** diff --git a/server/src/main/java/org/elasticsearch/index/fielddata/plain/AbstractLatLonPointIndexFieldData.java b/server/src/main/java/org/elasticsearch/index/fielddata/plain/AbstractLatLonPointIndexFieldData.java index 4519a1612faf5..9aa2cc3325c82 100644 --- a/server/src/main/java/org/elasticsearch/index/fielddata/plain/AbstractLatLonPointIndexFieldData.java +++ b/server/src/main/java/org/elasticsearch/index/fielddata/plain/AbstractLatLonPointIndexFieldData.java @@ -26,13 +26,11 @@ import org.apache.lucene.search.SortField; import org.elasticsearch.common.Nullable; import org.elasticsearch.common.util.BigArrays; -import org.elasticsearch.index.IndexSettings; import org.elasticsearch.index.fielddata.IndexFieldData; import org.elasticsearch.index.fielddata.IndexFieldData.XFieldComparatorSource.Nested; import org.elasticsearch.index.fielddata.IndexFieldDataCache; import org.elasticsearch.index.fielddata.IndexGeoPointFieldData; import org.elasticsearch.index.fielddata.LeafGeoPointFieldData; -import org.elasticsearch.index.mapper.MappedFieldType; import org.elasticsearch.index.mapper.MapperService; import org.elasticsearch.indices.breaker.CircuitBreakerService; import org.elasticsearch.search.DocValueFormat; @@ -111,16 +109,18 @@ static void checkCompatible(FieldInfo fieldInfo) { } public static class Builder implements IndexFieldData.Builder { + private final String name; private final ValuesSourceType valuesSourceType; - public Builder(ValuesSourceType valuesSourceType) { + public Builder(String name, ValuesSourceType valuesSourceType) { + this.name = name; this.valuesSourceType = valuesSourceType; } + @Override - public IndexFieldData build(IndexSettings indexSettings, MappedFieldType fieldType, IndexFieldDataCache cache, - CircuitBreakerService breakerService, MapperService mapperService) { + public IndexFieldData build(IndexFieldDataCache cache, CircuitBreakerService breakerService, MapperService mapperService) { // ignore breaker - return new LatLonPointIndexFieldData(fieldType.name(), valuesSourceType); + return new LatLonPointIndexFieldData(name, valuesSourceType); } } } diff --git a/server/src/main/java/org/elasticsearch/index/fielddata/plain/BinaryIndexFieldData.java b/server/src/main/java/org/elasticsearch/index/fielddata/plain/BinaryIndexFieldData.java index 5e655102cea05..c56653b89794c 100644 --- a/server/src/main/java/org/elasticsearch/index/fielddata/plain/BinaryIndexFieldData.java +++ b/server/src/main/java/org/elasticsearch/index/fielddata/plain/BinaryIndexFieldData.java @@ -23,12 +23,10 @@ import org.apache.lucene.search.SortField; import org.elasticsearch.common.Nullable; import org.elasticsearch.common.util.BigArrays; -import org.elasticsearch.index.IndexSettings; import org.elasticsearch.index.fielddata.IndexFieldData; import org.elasticsearch.index.fielddata.IndexFieldData.XFieldComparatorSource.Nested; import org.elasticsearch.index.fielddata.IndexFieldDataCache; import org.elasticsearch.index.fielddata.fieldcomparator.BytesRefFieldComparatorSource; -import org.elasticsearch.index.mapper.MappedFieldType; import org.elasticsearch.index.mapper.MapperService; import org.elasticsearch.indices.breaker.CircuitBreakerService; import org.elasticsearch.search.DocValueFormat; @@ -40,22 +38,17 @@ public class BinaryIndexFieldData implements IndexFieldData { public static class Builder implements IndexFieldData.Builder { + private final String name; private final ValuesSourceType valuesSourceType; - public Builder(ValuesSourceType valuesSourceType) { + public Builder(String name, ValuesSourceType valuesSourceType) { + this.name = name; this.valuesSourceType = valuesSourceType; } @Override - public BinaryIndexFieldData build( - IndexSettings indexSettings, - MappedFieldType fieldType, - IndexFieldDataCache cache, - CircuitBreakerService breakerService, - MapperService mapperService - ) { - final String fieldName = fieldType.name(); - return new BinaryIndexFieldData(fieldName, valuesSourceType); + public BinaryIndexFieldData build(IndexFieldDataCache cache, CircuitBreakerService breakerService, MapperService mapperService) { + return new BinaryIndexFieldData(name, valuesSourceType); } } protected final String fieldName; diff --git a/server/src/main/java/org/elasticsearch/index/fielddata/plain/BytesBinaryIndexFieldData.java b/server/src/main/java/org/elasticsearch/index/fielddata/plain/BytesBinaryIndexFieldData.java index 6ac936d54ceea..c9f516cffdc58 100644 --- a/server/src/main/java/org/elasticsearch/index/fielddata/plain/BytesBinaryIndexFieldData.java +++ b/server/src/main/java/org/elasticsearch/index/fielddata/plain/BytesBinaryIndexFieldData.java @@ -24,11 +24,9 @@ import org.apache.lucene.search.SortField; import org.elasticsearch.common.Nullable; import org.elasticsearch.common.util.BigArrays; -import org.elasticsearch.index.IndexSettings; import org.elasticsearch.index.fielddata.IndexFieldData; import org.elasticsearch.index.fielddata.IndexFieldData.XFieldComparatorSource.Nested; import org.elasticsearch.index.fielddata.IndexFieldDataCache; -import org.elasticsearch.index.mapper.MappedFieldType; import org.elasticsearch.index.mapper.MapperService; import org.elasticsearch.indices.breaker.CircuitBreakerService; import org.elasticsearch.search.DocValueFormat; @@ -90,19 +88,18 @@ public BytesBinaryDVLeafFieldData loadDirect(LeafReaderContext context) throws E } public static class Builder implements IndexFieldData.Builder { - ValuesSourceType valuesSourceType; + private final String name; + private final ValuesSourceType valuesSourceType; - public Builder(ValuesSourceType valuesSourceType) { - this.valuesSourceType = valuesSourceType; + public Builder(String name, ValuesSourceType valuesSourceType) { + this.name = name; + this.valuesSourceType = valuesSourceType; } @Override - public IndexFieldData build(IndexSettings indexSettings, MappedFieldType fieldType, IndexFieldDataCache cache, - CircuitBreakerService breakerService, MapperService mapperService) { + public IndexFieldData build(IndexFieldDataCache cache, CircuitBreakerService breakerService, MapperService mapperService) { // Ignore breaker - final String fieldName = fieldType.name(); - return new BytesBinaryIndexFieldData(fieldName, valuesSourceType); + return new BytesBinaryIndexFieldData(name, valuesSourceType); } - } } diff --git a/server/src/main/java/org/elasticsearch/index/fielddata/plain/ConstantIndexFieldData.java b/server/src/main/java/org/elasticsearch/index/fielddata/plain/ConstantIndexFieldData.java index 0ced58e2e5e5c..403394c38e6a4 100644 --- a/server/src/main/java/org/elasticsearch/index/fielddata/plain/ConstantIndexFieldData.java +++ b/server/src/main/java/org/elasticsearch/index/fielddata/plain/ConstantIndexFieldData.java @@ -29,15 +29,13 @@ import org.apache.lucene.util.BytesRef; import org.elasticsearch.common.Nullable; import org.elasticsearch.common.util.BigArrays; -import org.elasticsearch.index.IndexSettings; import org.elasticsearch.index.fielddata.AbstractSortedDocValues; -import org.elasticsearch.index.fielddata.LeafOrdinalsFieldData; import org.elasticsearch.index.fielddata.IndexFieldData; +import org.elasticsearch.index.fielddata.IndexFieldData.XFieldComparatorSource.Nested; import org.elasticsearch.index.fielddata.IndexFieldDataCache; import org.elasticsearch.index.fielddata.IndexOrdinalsFieldData; -import org.elasticsearch.index.fielddata.IndexFieldData.XFieldComparatorSource.Nested; +import org.elasticsearch.index.fielddata.LeafOrdinalsFieldData; import org.elasticsearch.index.fielddata.fieldcomparator.BytesRefFieldComparatorSource; -import org.elasticsearch.index.mapper.MappedFieldType; import org.elasticsearch.index.mapper.MapperService; import org.elasticsearch.index.mapper.TextFieldMapper; import org.elasticsearch.indices.breaker.CircuitBreakerService; @@ -57,17 +55,18 @@ public class ConstantIndexFieldData extends AbstractIndexOrdinalsFieldData { public static class Builder implements IndexFieldData.Builder { private final Function valueFunction; + private final String name; private final ValuesSourceType valuesSourceType; - public Builder(Function valueFunction, ValuesSourceType valuesSourceType) { + public Builder(Function valueFunction, String name, ValuesSourceType valuesSourceType) { this.valueFunction = valueFunction; + this.name = name; this.valuesSourceType = valuesSourceType; } @Override - public IndexFieldData build(IndexSettings indexSettings, MappedFieldType fieldType, IndexFieldDataCache cache, - CircuitBreakerService breakerService, MapperService mapperService) { - return new ConstantIndexFieldData(fieldType.name(), valueFunction.apply(mapperService), valuesSourceType); + public IndexFieldData build(IndexFieldDataCache cache, CircuitBreakerService breakerService, MapperService mapperService) { + return new ConstantIndexFieldData(name, valueFunction.apply(mapperService), valuesSourceType); } } diff --git a/server/src/main/java/org/elasticsearch/index/fielddata/plain/PagedBytesIndexFieldData.java b/server/src/main/java/org/elasticsearch/index/fielddata/plain/PagedBytesIndexFieldData.java index e8031fba7246e..25769eb382817 100644 --- a/server/src/main/java/org/elasticsearch/index/fielddata/plain/PagedBytesIndexFieldData.java +++ b/server/src/main/java/org/elasticsearch/index/fielddata/plain/PagedBytesIndexFieldData.java @@ -36,7 +36,6 @@ import org.elasticsearch.common.Nullable; import org.elasticsearch.common.breaker.CircuitBreaker; import org.elasticsearch.common.util.BigArrays; -import org.elasticsearch.index.IndexSettings; import org.elasticsearch.index.fielddata.IndexFieldData; import org.elasticsearch.index.fielddata.IndexFieldData.XFieldComparatorSource.Nested; import org.elasticsearch.index.fielddata.IndexFieldDataCache; @@ -46,7 +45,6 @@ import org.elasticsearch.index.fielddata.fieldcomparator.BytesRefFieldComparatorSource; import org.elasticsearch.index.fielddata.ordinals.Ordinals; import org.elasticsearch.index.fielddata.ordinals.OrdinalsBuilder; -import org.elasticsearch.index.mapper.MappedFieldType; import org.elasticsearch.index.mapper.MapperService; import org.elasticsearch.indices.breaker.CircuitBreakerService; import org.elasticsearch.search.DocValueFormat; @@ -61,12 +59,13 @@ public class PagedBytesIndexFieldData extends AbstractIndexOrdinalsFieldData { private static final Logger logger = LogManager.getLogger(PagedBytesIndexFieldData.class); public static class Builder implements IndexFieldData.Builder { - + private final String name; private final double minFrequency, maxFrequency; private final int minSegmentSize; private final ValuesSourceType valuesSourceType; - public Builder(double minFrequency, double maxFrequency, int minSegmentSize, ValuesSourceType valuesSourceType) { + public Builder(String name, double minFrequency, double maxFrequency, int minSegmentSize, ValuesSourceType valuesSourceType) { + this.name = name; this.minFrequency = minFrequency; this.maxFrequency = maxFrequency; this.minSegmentSize = minSegmentSize; @@ -74,9 +73,8 @@ public Builder(double minFrequency, double maxFrequency, int minSegmentSize, Val } @Override - public IndexOrdinalsFieldData build(IndexSettings indexSettings, MappedFieldType fieldType, - IndexFieldDataCache cache, CircuitBreakerService breakerService, MapperService mapperService) { - return new PagedBytesIndexFieldData(fieldType.name(), valuesSourceType, cache, breakerService, + public IndexOrdinalsFieldData build(IndexFieldDataCache cache, CircuitBreakerService breakerService, MapperService mapperService) { + return new PagedBytesIndexFieldData(name, valuesSourceType, cache, breakerService, minFrequency, maxFrequency, minSegmentSize); } } diff --git a/server/src/main/java/org/elasticsearch/index/fielddata/plain/SortedNumericIndexFieldData.java b/server/src/main/java/org/elasticsearch/index/fielddata/plain/SortedNumericIndexFieldData.java index 10d7dd8d1e387..84df5be537f0a 100644 --- a/server/src/main/java/org/elasticsearch/index/fielddata/plain/SortedNumericIndexFieldData.java +++ b/server/src/main/java/org/elasticsearch/index/fielddata/plain/SortedNumericIndexFieldData.java @@ -29,7 +29,6 @@ import org.apache.lucene.util.Accountable; import org.apache.lucene.util.NumericUtils; import org.elasticsearch.common.time.DateUtils; -import org.elasticsearch.index.IndexSettings; import org.elasticsearch.index.fielddata.FieldData; import org.elasticsearch.index.fielddata.IndexFieldData; import org.elasticsearch.index.fielddata.IndexFieldData.XFieldComparatorSource.Nested; @@ -39,7 +38,6 @@ import org.elasticsearch.index.fielddata.NumericDoubleValues; import org.elasticsearch.index.fielddata.SortedNumericDoubleValues; import org.elasticsearch.index.fielddata.fieldcomparator.LongValuesComparatorSource; -import org.elasticsearch.index.mapper.MappedFieldType; import org.elasticsearch.index.mapper.MapperService; import org.elasticsearch.indices.breaker.CircuitBreakerService; import org.elasticsearch.search.MultiValueMode; @@ -56,23 +54,21 @@ */ public class SortedNumericIndexFieldData extends IndexNumericFieldData { public static class Builder implements IndexFieldData.Builder { - + private final String name; private final NumericType numericType; - public Builder(NumericType numericType) { + public Builder(String name, NumericType numericType) { + this.name = name; this.numericType = numericType; } @Override public SortedNumericIndexFieldData build( - IndexSettings indexSettings, - MappedFieldType fieldType, IndexFieldDataCache cache, CircuitBreakerService breakerService, MapperService mapperService ) { - final String fieldName = fieldType.name(); - return new SortedNumericIndexFieldData(fieldName, numericType); + return new SortedNumericIndexFieldData(name, numericType); } } diff --git a/server/src/main/java/org/elasticsearch/index/fielddata/plain/SortedSetOrdinalsIndexFieldData.java b/server/src/main/java/org/elasticsearch/index/fielddata/plain/SortedSetOrdinalsIndexFieldData.java index 57166ac570636..92d90a9cbcf31 100644 --- a/server/src/main/java/org/elasticsearch/index/fielddata/plain/SortedSetOrdinalsIndexFieldData.java +++ b/server/src/main/java/org/elasticsearch/index/fielddata/plain/SortedSetOrdinalsIndexFieldData.java @@ -31,7 +31,6 @@ import org.elasticsearch.ElasticsearchException; import org.elasticsearch.common.Nullable; import org.elasticsearch.common.util.BigArrays; -import org.elasticsearch.index.IndexSettings; import org.elasticsearch.index.fielddata.IndexFieldData; import org.elasticsearch.index.fielddata.IndexFieldData.XFieldComparatorSource.Nested; import org.elasticsearch.index.fielddata.IndexFieldDataCache; @@ -41,7 +40,6 @@ import org.elasticsearch.index.fielddata.fieldcomparator.BytesRefFieldComparatorSource; import org.elasticsearch.index.fielddata.ordinals.GlobalOrdinalsBuilder; import org.elasticsearch.index.fielddata.ordinals.GlobalOrdinalsIndexFieldData; -import org.elasticsearch.index.mapper.MappedFieldType; import org.elasticsearch.index.mapper.MapperService; import org.elasticsearch.indices.breaker.CircuitBreakerService; import org.elasticsearch.search.DocValueFormat; @@ -56,28 +54,27 @@ public class SortedSetOrdinalsIndexFieldData implements IndexOrdinalsFieldData { public static class Builder implements IndexFieldData.Builder { + private final String name; private final Function> scriptFunction; private final ValuesSourceType valuesSourceType; - public Builder(ValuesSourceType valuesSourceType) { - this(AbstractLeafOrdinalsFieldData.DEFAULT_SCRIPT_FUNCTION, valuesSourceType); + public Builder(String name, ValuesSourceType valuesSourceType) { + this(name, AbstractLeafOrdinalsFieldData.DEFAULT_SCRIPT_FUNCTION, valuesSourceType); } - public Builder(Function> scriptFunction, ValuesSourceType valuesSourceType) { + public Builder(String name, Function> scriptFunction, ValuesSourceType valuesSourceType) { + this.name = name; this.scriptFunction = scriptFunction; this.valuesSourceType = valuesSourceType; } @Override public SortedSetOrdinalsIndexFieldData build( - IndexSettings indexSettings, - MappedFieldType fieldType, IndexFieldDataCache cache, CircuitBreakerService breakerService, MapperService mapperService ) { - final String fieldName = fieldType.name(); - return new SortedSetOrdinalsIndexFieldData(cache, fieldName, valuesSourceType, breakerService, scriptFunction); + return new SortedSetOrdinalsIndexFieldData(cache, name, valuesSourceType, breakerService, scriptFunction); } } diff --git a/server/src/main/java/org/elasticsearch/index/mapper/BinaryFieldMapper.java b/server/src/main/java/org/elasticsearch/index/mapper/BinaryFieldMapper.java index 60e2dd17354aa..f0d85a9cd27a7 100644 --- a/server/src/main/java/org/elasticsearch/index/mapper/BinaryFieldMapper.java +++ b/server/src/main/java/org/elasticsearch/index/mapper/BinaryFieldMapper.java @@ -133,7 +133,7 @@ public BytesReference valueForDisplay(Object value) { @Override public IndexFieldData.Builder fielddataBuilder(String fullyQualifiedIndexName) { failIfNoDocValues(); - return new BytesBinaryIndexFieldData.Builder(CoreValuesSourceType.BYTES); + return new BytesBinaryIndexFieldData.Builder(name(), CoreValuesSourceType.BYTES); } @Override diff --git a/server/src/main/java/org/elasticsearch/index/mapper/BooleanFieldMapper.java b/server/src/main/java/org/elasticsearch/index/mapper/BooleanFieldMapper.java index 1470616172a36..08fdf66ad8ca4 100644 --- a/server/src/main/java/org/elasticsearch/index/mapper/BooleanFieldMapper.java +++ b/server/src/main/java/org/elasticsearch/index/mapper/BooleanFieldMapper.java @@ -178,7 +178,7 @@ public Boolean valueForDisplay(Object value) { @Override public IndexFieldData.Builder fielddataBuilder(String fullyQualifiedIndexName) { failIfNoDocValues(); - return new SortedNumericIndexFieldData.Builder(NumericType.BOOLEAN); + return new SortedNumericIndexFieldData.Builder(name(), NumericType.BOOLEAN); } @Override diff --git a/server/src/main/java/org/elasticsearch/index/mapper/DateFieldMapper.java b/server/src/main/java/org/elasticsearch/index/mapper/DateFieldMapper.java index 677341a7757d5..b1cd70c588844 100644 --- a/server/src/main/java/org/elasticsearch/index/mapper/DateFieldMapper.java +++ b/server/src/main/java/org/elasticsearch/index/mapper/DateFieldMapper.java @@ -422,7 +422,7 @@ public Function pointReaderIfPossible() { @Override public IndexFieldData.Builder fielddataBuilder(String fullyQualifiedIndexName) { failIfNoDocValues(); - return new SortedNumericIndexFieldData.Builder(resolution.numericType()); + return new SortedNumericIndexFieldData.Builder(name(), resolution.numericType()); } @Override diff --git a/server/src/main/java/org/elasticsearch/index/mapper/GeoPointFieldMapper.java b/server/src/main/java/org/elasticsearch/index/mapper/GeoPointFieldMapper.java index 5f1b7013037a7..00e90ddd1081b 100644 --- a/server/src/main/java/org/elasticsearch/index/mapper/GeoPointFieldMapper.java +++ b/server/src/main/java/org/elasticsearch/index/mapper/GeoPointFieldMapper.java @@ -181,7 +181,7 @@ public String typeName() { @Override public IndexFieldData.Builder fielddataBuilder(String fullyQualifiedIndexName) { failIfNoDocValues(); - return new AbstractLatLonPointIndexFieldData.Builder(CoreValuesSourceType.GEOPOINT); + return new AbstractLatLonPointIndexFieldData.Builder(name(), CoreValuesSourceType.GEOPOINT); } } diff --git a/server/src/main/java/org/elasticsearch/index/mapper/IdFieldMapper.java b/server/src/main/java/org/elasticsearch/index/mapper/IdFieldMapper.java index d62bdabd5a08d..a482de144c764 100644 --- a/server/src/main/java/org/elasticsearch/index/mapper/IdFieldMapper.java +++ b/server/src/main/java/org/elasticsearch/index/mapper/IdFieldMapper.java @@ -32,7 +32,6 @@ import org.elasticsearch.common.lucene.Lucene; import org.elasticsearch.common.util.BigArrays; import org.elasticsearch.common.xcontent.XContentBuilder; -import org.elasticsearch.index.IndexSettings; import org.elasticsearch.index.fielddata.IndexFieldData; import org.elasticsearch.index.fielddata.IndexFieldData.XFieldComparatorSource.Nested; import org.elasticsearch.index.fielddata.IndexFieldDataCache; @@ -157,21 +156,25 @@ public Query termsQuery(List values, QueryShardContext context) { @Override public IndexFieldData.Builder fielddataBuilder(String fullyQualifiedIndexName) { final IndexFieldData.Builder fieldDataBuilder = new PagedBytesIndexFieldData.Builder( + name(), TextFieldMapper.Defaults.FIELDDATA_MIN_FREQUENCY, TextFieldMapper.Defaults.FIELDDATA_MAX_FREQUENCY, TextFieldMapper.Defaults.FIELDDATA_MIN_SEGMENT_SIZE, CoreValuesSourceType.BYTES); return new IndexFieldData.Builder() { @Override - public IndexFieldData build(IndexSettings indexSettings, MappedFieldType fieldType, IndexFieldDataCache cache, - CircuitBreakerService breakerService, MapperService mapperService) { + public IndexFieldData build( + IndexFieldDataCache cache, + CircuitBreakerService breakerService, + MapperService mapperService + ) { if (mapperService.isIdFieldDataEnabled() == false) { throw new IllegalArgumentException("Fielddata access on the _id field is disallowed, " + "you can re-enable it by updating the dynamic cluster setting: " + IndicesService.INDICES_ID_FIELD_DATA_ENABLED_SETTING.getKey()); } deprecationLogger.deprecate("id_field_data", ID_FIELD_DATA_DEPRECATION_MESSAGE); - final IndexFieldData fieldData = fieldDataBuilder.build(indexSettings, fieldType, cache, + final IndexFieldData fieldData = fieldDataBuilder.build(cache, breakerService, mapperService); return new IndexFieldData() { @Override diff --git a/server/src/main/java/org/elasticsearch/index/mapper/IndexFieldMapper.java b/server/src/main/java/org/elasticsearch/index/mapper/IndexFieldMapper.java index eb689d74be316..f63617f8842e6 100644 --- a/server/src/main/java/org/elasticsearch/index/mapper/IndexFieldMapper.java +++ b/server/src/main/java/org/elasticsearch/index/mapper/IndexFieldMapper.java @@ -104,7 +104,7 @@ public Query existsQuery(QueryShardContext context) { @Override public IndexFieldData.Builder fielddataBuilder(String fullyQualifiedIndexName) { - return new ConstantIndexFieldData.Builder(mapperService -> fullyQualifiedIndexName, CoreValuesSourceType.BYTES); + return new ConstantIndexFieldData.Builder(mapperService -> fullyQualifiedIndexName, name(), CoreValuesSourceType.BYTES); } } diff --git a/server/src/main/java/org/elasticsearch/index/mapper/IpFieldMapper.java b/server/src/main/java/org/elasticsearch/index/mapper/IpFieldMapper.java index ad18a1fa94b5e..2824eb83a6a9f 100644 --- a/server/src/main/java/org/elasticsearch/index/mapper/IpFieldMapper.java +++ b/server/src/main/java/org/elasticsearch/index/mapper/IpFieldMapper.java @@ -298,7 +298,7 @@ public int size() { @Override public IndexFieldData.Builder fielddataBuilder(String fullyQualifiedIndexName) { failIfNoDocValues(); - return new SortedSetOrdinalsIndexFieldData.Builder(IpScriptDocValues::new, CoreValuesSourceType.IP); + return new SortedSetOrdinalsIndexFieldData.Builder(name(), IpScriptDocValues::new, CoreValuesSourceType.IP); } @Override diff --git a/server/src/main/java/org/elasticsearch/index/mapper/KeywordFieldMapper.java b/server/src/main/java/org/elasticsearch/index/mapper/KeywordFieldMapper.java index ee476631b2b86..c1f4983435098 100644 --- a/server/src/main/java/org/elasticsearch/index/mapper/KeywordFieldMapper.java +++ b/server/src/main/java/org/elasticsearch/index/mapper/KeywordFieldMapper.java @@ -279,7 +279,7 @@ public Query existsQuery(QueryShardContext context) { @Override public IndexFieldData.Builder fielddataBuilder(String fullyQualifiedIndexName) { failIfNoDocValues(); - return new SortedSetOrdinalsIndexFieldData.Builder(CoreValuesSourceType.BYTES); + return new SortedSetOrdinalsIndexFieldData.Builder(name(), CoreValuesSourceType.BYTES); } @Override diff --git a/server/src/main/java/org/elasticsearch/index/mapper/NumberFieldMapper.java b/server/src/main/java/org/elasticsearch/index/mapper/NumberFieldMapper.java index 106609f97cdeb..e5f1f3fdf9b41 100644 --- a/server/src/main/java/org/elasticsearch/index/mapper/NumberFieldMapper.java +++ b/server/src/main/java/org/elasticsearch/index/mapper/NumberFieldMapper.java @@ -973,7 +973,7 @@ public Function pointReaderIfPossible() { @Override public IndexFieldData.Builder fielddataBuilder(String fullyQualifiedIndexName) { failIfNoDocValues(); - return new SortedNumericIndexFieldData.Builder(type.numericType()); + return new SortedNumericIndexFieldData.Builder(name(), type.numericType()); } @Override diff --git a/server/src/main/java/org/elasticsearch/index/mapper/RangeFieldMapper.java b/server/src/main/java/org/elasticsearch/index/mapper/RangeFieldMapper.java index 28874363b456f..96e3e72fa73a6 100644 --- a/server/src/main/java/org/elasticsearch/index/mapper/RangeFieldMapper.java +++ b/server/src/main/java/org/elasticsearch/index/mapper/RangeFieldMapper.java @@ -215,7 +215,7 @@ public RangeFieldType(String name, DateFormatter formatter) { @Override public IndexFieldData.Builder fielddataBuilder(String fullyQualifiedIndexName) { failIfNoDocValues(); - return new BinaryIndexFieldData.Builder(CoreValuesSourceType.RANGE); + return new BinaryIndexFieldData.Builder(name(), CoreValuesSourceType.RANGE); } @Override diff --git a/server/src/main/java/org/elasticsearch/index/mapper/SeqNoFieldMapper.java b/server/src/main/java/org/elasticsearch/index/mapper/SeqNoFieldMapper.java index c98bc5de4a9fc..e6ffa9e33f671 100644 --- a/server/src/main/java/org/elasticsearch/index/mapper/SeqNoFieldMapper.java +++ b/server/src/main/java/org/elasticsearch/index/mapper/SeqNoFieldMapper.java @@ -195,7 +195,7 @@ public Query rangeQuery(Object lowerTerm, Object upperTerm, boolean includeLower @Override public IndexFieldData.Builder fielddataBuilder(String fullyQualifiedIndexName) { failIfNoDocValues(); - return new SortedNumericIndexFieldData.Builder(NumericType.LONG); + return new SortedNumericIndexFieldData.Builder(name(), NumericType.LONG); } } diff --git a/server/src/main/java/org/elasticsearch/index/mapper/TextFieldMapper.java b/server/src/main/java/org/elasticsearch/index/mapper/TextFieldMapper.java index 503b2f98865a2..312b6b2e6ba6e 100644 --- a/server/src/main/java/org/elasticsearch/index/mapper/TextFieldMapper.java +++ b/server/src/main/java/org/elasticsearch/index/mapper/TextFieldMapper.java @@ -754,6 +754,7 @@ public IndexFieldData.Builder fielddataBuilder(String fullyQualifiedIndexName) { + "field data by uninverting the inverted index. Note that this can use significant memory."); } return new PagedBytesIndexFieldData.Builder( + name(), fielddataMinFrequency, fielddataMaxFrequency, fielddataMinSegmentSize, diff --git a/server/src/main/java/org/elasticsearch/index/mapper/TypeFieldMapper.java b/server/src/main/java/org/elasticsearch/index/mapper/TypeFieldMapper.java index 60e0ddba18c28..457ecab3c79fd 100644 --- a/server/src/main/java/org/elasticsearch/index/mapper/TypeFieldMapper.java +++ b/server/src/main/java/org/elasticsearch/index/mapper/TypeFieldMapper.java @@ -102,7 +102,7 @@ public Query existsQuery(QueryShardContext context) { @Override public IndexFieldData.Builder fielddataBuilder(String fullyQualifiedIndexName) { Function typeFunction = mapperService -> mapperService.documentMapper().type(); - return new ConstantIndexFieldData.Builder(typeFunction, CoreValuesSourceType.BYTES); + return new ConstantIndexFieldData.Builder(typeFunction, name(), CoreValuesSourceType.BYTES); } @Override diff --git a/server/src/test/java/org/elasticsearch/index/mapper/IdFieldMapperTests.java b/server/src/test/java/org/elasticsearch/index/mapper/IdFieldMapperTests.java index 2805a7ab7df21..dac12c9fee555 100644 --- a/server/src/test/java/org/elasticsearch/index/mapper/IdFieldMapperTests.java +++ b/server/src/test/java/org/elasticsearch/index/mapper/IdFieldMapperTests.java @@ -83,16 +83,14 @@ public void testEnableFieldData() throws IOException { IdFieldMapper.IdFieldType ft = (IdFieldMapper.IdFieldType) service.mapperService().fieldType("_id"); IllegalArgumentException exc = expectThrows(IllegalArgumentException.class, - () -> ft.fielddataBuilder("test").build(mapperService.getIndexSettings(), - ft, null, null, mapperService)); + () -> ft.fielddataBuilder("test").build(null, null, mapperService)); assertThat(exc.getMessage(), containsString(IndicesService.INDICES_ID_FIELD_DATA_ENABLED_SETTING.getKey())); client().admin().cluster().prepareUpdateSettings() .setTransientSettings(Settings.builder().put(IndicesService.INDICES_ID_FIELD_DATA_ENABLED_SETTING.getKey(), true)) .get(); try { - ft.fielddataBuilder("test").build(mapperService.getIndexSettings(), - ft, null, null, mapperService); + ft.fielddataBuilder("test").build(null, null, mapperService); assertWarnings(ID_FIELD_DATA_DEPRECATION_MESSAGE); } finally { // unset cluster setting diff --git a/server/src/test/java/org/elasticsearch/index/mapper/NumberFieldTypeTests.java b/server/src/test/java/org/elasticsearch/index/mapper/NumberFieldTypeTests.java index 30b131d4f5ada..4c0a2884ae776 100644 --- a/server/src/test/java/org/elasticsearch/index/mapper/NumberFieldTypeTests.java +++ b/server/src/test/java/org/elasticsearch/index/mapper/NumberFieldTypeTests.java @@ -447,8 +447,7 @@ public void doTestIndexSortRangeQueries(NumberType type, Supplier valueS // Create an index writer configured with the same index sort. NumberFieldType fieldType = new NumberFieldType("field", type); - IndexNumericFieldData fielddata = (IndexNumericFieldData) fieldType.fielddataBuilder("index") - .build(indexSettings, fieldType, null, null, null); + IndexNumericFieldData fielddata = (IndexNumericFieldData) fieldType.fielddataBuilder("index").build(null, null, null); SortField sortField = fielddata.sortField(null, MultiValueMode.MIN, null, randomBoolean()); IndexWriterConfig writerConfig = new IndexWriterConfig(); diff --git a/server/src/test/java/org/elasticsearch/index/mapper/TypeFieldMapperTests.java b/server/src/test/java/org/elasticsearch/index/mapper/TypeFieldMapperTests.java index 1782242e204ed..887ae9578df74 100644 --- a/server/src/test/java/org/elasticsearch/index/mapper/TypeFieldMapperTests.java +++ b/server/src/test/java/org/elasticsearch/index/mapper/TypeFieldMapperTests.java @@ -68,8 +68,8 @@ public static void testDocValues(Function createIndex) thr w.close(); MappedFieldType ft = mapperService.fieldType(TypeFieldMapper.NAME); - IndexOrdinalsFieldData fd = (IndexOrdinalsFieldData) ft.fielddataBuilder("test").build(mapperService.getIndexSettings(), - ft, new IndexFieldDataCache.None(), new NoneCircuitBreakerService(), mapperService); + IndexOrdinalsFieldData fd = (IndexOrdinalsFieldData) ft.fielddataBuilder("test") + .build(new IndexFieldDataCache.None(), new NoneCircuitBreakerService(), mapperService); LeafOrdinalsFieldData afd = fd.load(r.leaves().get(0)); SortedSetDocValues values = afd.getOrdinalsValues(); assertTrue(values.advanceExact(0)); diff --git a/server/src/test/java/org/elasticsearch/index/query/QueryShardContextTests.java b/server/src/test/java/org/elasticsearch/index/query/QueryShardContextTests.java index e119f9fa6e0a3..3500753e7581a 100644 --- a/server/src/test/java/org/elasticsearch/index/query/QueryShardContextTests.java +++ b/server/src/test/java/org/elasticsearch/index/query/QueryShardContextTests.java @@ -172,8 +172,7 @@ public static QueryShardContext createQueryShardContext(String indexUuid, String return new QueryShardContext( 0, indexSettings, BigArrays.NON_RECYCLING_INSTANCE, null, - (mappedFieldType, idxName) -> - mappedFieldType.fielddataBuilder(idxName).build(indexSettings, mappedFieldType, null, null, null), + (mappedFieldType, idxName) -> mappedFieldType.fielddataBuilder(idxName).build(null, null, null), mapperService, null, null, NamedXContentRegistry.EMPTY, new NamedWriteableRegistry(Collections.emptyList()), null, null, () -> nowInMillis, clusterAlias, null, () -> true, null); } diff --git a/server/src/test/java/org/elasticsearch/search/sort/AbstractSortTestCase.java b/server/src/test/java/org/elasticsearch/search/sort/AbstractSortTestCase.java index 58a65840559fc..db91151e65e75 100644 --- a/server/src/test/java/org/elasticsearch/search/sort/AbstractSortTestCase.java +++ b/server/src/test/java/org/elasticsearch/search/sort/AbstractSortTestCase.java @@ -196,7 +196,7 @@ protected final QueryShardContext createMockShardContext(IndexSearcher searcher) BitsetFilterCache bitsetFilterCache = new BitsetFilterCache(idxSettings, Mockito.mock(BitsetFilterCache.Listener.class)); BiFunction> indexFieldDataLookup = (fieldType, fieldIndexName) -> { IndexFieldData.Builder builder = fieldType.fielddataBuilder(fieldIndexName); - return builder.build(idxSettings, fieldType, new IndexFieldDataCache.None(), null, null); + return builder.build(new IndexFieldDataCache.None(), null, null); }; return new QueryShardContext(0, idxSettings, BigArrays.NON_RECYCLING_INSTANCE, bitsetFilterCache, indexFieldDataLookup, null, null, scriptService, xContentRegistry(), namedWriteableRegistry, null, searcher, diff --git a/test/framework/src/main/java/org/elasticsearch/search/aggregations/AggregatorTestCase.java b/test/framework/src/main/java/org/elasticsearch/search/aggregations/AggregatorTestCase.java index 7c4f74e92b4ec..b67ce70d9b709 100644 --- a/test/framework/src/main/java/org/elasticsearch/search/aggregations/AggregatorTestCase.java +++ b/test/framework/src/main/java/org/elasticsearch/search/aggregations/AggregatorTestCase.java @@ -386,8 +386,7 @@ mapperService, null, getMockScriptService(), xContentRegistry(), protected BiFunction> getIndexFieldDataLookup(MapperService mapperService, CircuitBreakerService circuitBreakerService) { return (fieldType, s) -> fieldType.fielddataBuilder(mapperService.getIndexSettings().getIndex().getName()) - .build(mapperService.getIndexSettings(), fieldType, - new IndexFieldDataCache.None(), circuitBreakerService, mapperService); + .build(new IndexFieldDataCache.None(), circuitBreakerService, mapperService); } @@ -751,8 +750,7 @@ public void testSupportedFieldTypes() throws IOException { } private ValuesSourceType fieldToVST(MappedFieldType fieldType) { - return fieldType.fielddataBuilder("") - .build(createIndexSettings(), fieldType, null, null, null).getValuesSourceType(); + return fieldType.fielddataBuilder("").build(null, null, null).getValuesSourceType(); } /** diff --git a/x-pack/plugin/analytics/src/main/java/org/elasticsearch/xpack/analytics/mapper/HistogramFieldMapper.java b/x-pack/plugin/analytics/src/main/java/org/elasticsearch/xpack/analytics/mapper/HistogramFieldMapper.java index 32514eeed6671..8b51d5cd1b1bf 100644 --- a/x-pack/plugin/analytics/src/main/java/org/elasticsearch/xpack/analytics/mapper/HistogramFieldMapper.java +++ b/x-pack/plugin/analytics/src/main/java/org/elasticsearch/xpack/analytics/mapper/HistogramFieldMapper.java @@ -8,6 +8,7 @@ import com.carrotsearch.hppc.DoubleArrayList; import com.carrotsearch.hppc.IntArrayList; + import org.apache.lucene.document.BinaryDocValuesField; import org.apache.lucene.document.Field; import org.apache.lucene.document.FieldType; @@ -28,7 +29,6 @@ import org.elasticsearch.common.xcontent.XContentParser; import org.elasticsearch.common.xcontent.XContentSubParser; import org.elasticsearch.common.xcontent.support.XContentMapValues; -import org.elasticsearch.index.IndexSettings; import org.elasticsearch.index.fielddata.HistogramValue; import org.elasticsearch.index.fielddata.HistogramValues; import org.elasticsearch.index.fielddata.IndexFieldData; @@ -181,10 +181,13 @@ public IndexFieldData.Builder fielddataBuilder(String fullyQualifiedIndexName) { return new IndexFieldData.Builder() { @Override - public IndexFieldData build(IndexSettings indexSettings, MappedFieldType fieldType, IndexFieldDataCache cache, - CircuitBreakerService breakerService, MapperService mapperService) { + public IndexFieldData build( + IndexFieldDataCache cache, + CircuitBreakerService breakerService, + MapperService mapperService + ) { - return new IndexHistogramFieldData(fieldType.name(), AnalyticsValuesSourceType.HISTOGRAM) { + return new IndexHistogramFieldData(name(), AnalyticsValuesSourceType.HISTOGRAM) { @Override public LeafHistogramFieldData load(LeafReaderContext context) { diff --git a/x-pack/plugin/mapper-constant-keyword/src/main/java/org/elasticsearch/xpack/constantkeyword/mapper/ConstantKeywordFieldMapper.java b/x-pack/plugin/mapper-constant-keyword/src/main/java/org/elasticsearch/xpack/constantkeyword/mapper/ConstantKeywordFieldMapper.java index e034e2b4ae268..0b16b4feb3ba8 100644 --- a/x-pack/plugin/mapper-constant-keyword/src/main/java/org/elasticsearch/xpack/constantkeyword/mapper/ConstantKeywordFieldMapper.java +++ b/x-pack/plugin/mapper-constant-keyword/src/main/java/org/elasticsearch/xpack/constantkeyword/mapper/ConstantKeywordFieldMapper.java @@ -139,7 +139,7 @@ public String familyTypeName() { @Override public IndexFieldData.Builder fielddataBuilder(String fullyQualifiedIndexName) { - return new ConstantIndexFieldData.Builder(mapperService -> value, CoreValuesSourceType.BYTES); + return new ConstantIndexFieldData.Builder(mapperService -> value, name(), CoreValuesSourceType.BYTES); } @Override diff --git a/x-pack/plugin/mapper-flattened/src/main/java/org/elasticsearch/xpack/flattened/mapper/FlatObjectFieldMapper.java b/x-pack/plugin/mapper-flattened/src/main/java/org/elasticsearch/xpack/flattened/mapper/FlatObjectFieldMapper.java index f10cdb6c0e97f..c67073dcafb4c 100644 --- a/x-pack/plugin/mapper-flattened/src/main/java/org/elasticsearch/xpack/flattened/mapper/FlatObjectFieldMapper.java +++ b/x-pack/plugin/mapper-flattened/src/main/java/org/elasticsearch/xpack/flattened/mapper/FlatObjectFieldMapper.java @@ -25,7 +25,6 @@ import org.elasticsearch.common.xcontent.XContentBuilder; import org.elasticsearch.common.xcontent.XContentParser; import org.elasticsearch.common.xcontent.support.XContentMapValues; -import org.elasticsearch.index.IndexSettings; import org.elasticsearch.index.fielddata.IndexFieldData; import org.elasticsearch.index.fielddata.IndexFieldData.XFieldComparatorSource.Nested; import org.elasticsearch.index.fielddata.IndexFieldDataCache; @@ -320,7 +319,7 @@ public BytesRef indexedValueForSearch(Object value) { @Override public IndexFieldData.Builder fielddataBuilder(String fullyQualifiedIndexName) { failIfNoDocValues(); - return new KeyedFlatObjectFieldData.Builder(key, CoreValuesSourceType.BYTES); + return new KeyedFlatObjectFieldData.Builder(name(), key, CoreValuesSourceType.BYTES); } } @@ -416,21 +415,18 @@ public boolean supportsGlobalOrdinalsMapping() { } public static class Builder implements IndexFieldData.Builder { + private final String fieldName; private final String key; private final ValuesSourceType valuesSourceType; - Builder(String key, ValuesSourceType valuesSourceType) { + Builder(String fieldName, String key, ValuesSourceType valuesSourceType) { + this.fieldName = fieldName; this.key = key; this.valuesSourceType = valuesSourceType; } @Override - public IndexFieldData build(IndexSettings indexSettings, - MappedFieldType fieldType, - IndexFieldDataCache cache, - CircuitBreakerService breakerService, - MapperService mapperService) { - String fieldName = fieldType.name(); + public IndexFieldData build(IndexFieldDataCache cache, CircuitBreakerService breakerService, MapperService mapperService) { IndexOrdinalsFieldData delegate = new SortedSetOrdinalsIndexFieldData( cache, fieldName, valuesSourceType, breakerService, AbstractLeafOrdinalsFieldData.DEFAULT_SCRIPT_FUNCTION); return new KeyedFlatObjectFieldData(key, delegate); @@ -487,7 +483,7 @@ public Query existsQuery(QueryShardContext context) { @Override public IndexFieldData.Builder fielddataBuilder(String fullyQualifiedIndexName) { failIfNoDocValues(); - return new SortedSetOrdinalsIndexFieldData.Builder(CoreValuesSourceType.BYTES); + return new SortedSetOrdinalsIndexFieldData.Builder(name(), CoreValuesSourceType.BYTES); } } diff --git a/x-pack/plugin/spatial/src/main/java/org/elasticsearch/xpack/spatial/index/fielddata/AbstractLatLonShapeIndexFieldData.java b/x-pack/plugin/spatial/src/main/java/org/elasticsearch/xpack/spatial/index/fielddata/AbstractLatLonShapeIndexFieldData.java index 7fcba824050b6..f3183dca87562 100644 --- a/x-pack/plugin/spatial/src/main/java/org/elasticsearch/xpack/spatial/index/fielddata/AbstractLatLonShapeIndexFieldData.java +++ b/x-pack/plugin/spatial/src/main/java/org/elasticsearch/xpack/spatial/index/fielddata/AbstractLatLonShapeIndexFieldData.java @@ -13,10 +13,8 @@ import org.apache.lucene.search.SortField; import org.elasticsearch.common.Nullable; import org.elasticsearch.common.util.BigArrays; -import org.elasticsearch.index.IndexSettings; import org.elasticsearch.index.fielddata.IndexFieldData; import org.elasticsearch.index.fielddata.IndexFieldDataCache; -import org.elasticsearch.index.mapper.MappedFieldType; import org.elasticsearch.index.mapper.MapperService; import org.elasticsearch.indices.breaker.CircuitBreakerService; import org.elasticsearch.search.DocValueFormat; @@ -95,16 +93,18 @@ static void checkCompatible(FieldInfo fieldInfo) { } public static class Builder implements IndexFieldData.Builder { + private final String name; private final ValuesSourceType valuesSourceType; - public Builder(ValuesSourceType valuesSourceType) { + public Builder(String name, ValuesSourceType valuesSourceType) { + this.name = name; this.valuesSourceType = valuesSourceType; } + @Override - public IndexFieldData build(IndexSettings indexSettings, MappedFieldType fieldType, IndexFieldDataCache cache, - CircuitBreakerService breakerService, MapperService mapperService) { + public IndexFieldData build(IndexFieldDataCache cache, CircuitBreakerService breakerService, MapperService mapperService) { // ignore breaker - return new LatLonShapeIndexFieldData(fieldType.name(), valuesSourceType); + return new LatLonShapeIndexFieldData(name, valuesSourceType); } } } diff --git a/x-pack/plugin/spatial/src/main/java/org/elasticsearch/xpack/spatial/index/mapper/GeoShapeWithDocValuesFieldMapper.java b/x-pack/plugin/spatial/src/main/java/org/elasticsearch/xpack/spatial/index/mapper/GeoShapeWithDocValuesFieldMapper.java index 5aa7cc16bd7bf..644b5b5713aff 100644 --- a/x-pack/plugin/spatial/src/main/java/org/elasticsearch/xpack/spatial/index/mapper/GeoShapeWithDocValuesFieldMapper.java +++ b/x-pack/plugin/spatial/src/main/java/org/elasticsearch/xpack/spatial/index/mapper/GeoShapeWithDocValuesFieldMapper.java @@ -132,7 +132,7 @@ public GeoShapeWithDocValuesFieldType(String name, boolean indexed, boolean hasD public IndexFieldData.Builder fielddataBuilder(String fullyQualifiedIndexName) { failIfNoDocValues(); - return new AbstractLatLonShapeIndexFieldData.Builder(GeoShapeValuesSourceType.instance()); + return new AbstractLatLonShapeIndexFieldData.Builder(name(), GeoShapeValuesSourceType.instance()); } } diff --git a/x-pack/plugin/vectors/src/main/java/org/elasticsearch/xpack/vectors/mapper/DenseVectorFieldMapper.java b/x-pack/plugin/vectors/src/main/java/org/elasticsearch/xpack/vectors/mapper/DenseVectorFieldMapper.java index 7e45286e28737..f28b1a56a3b66 100644 --- a/x-pack/plugin/vectors/src/main/java/org/elasticsearch/xpack/vectors/mapper/DenseVectorFieldMapper.java +++ b/x-pack/plugin/vectors/src/main/java/org/elasticsearch/xpack/vectors/mapper/DenseVectorFieldMapper.java @@ -126,7 +126,7 @@ public Query existsQuery(QueryShardContext context) { @Override public IndexFieldData.Builder fielddataBuilder(String fullyQualifiedIndexName) { - return new VectorIndexFieldData.Builder(CoreValuesSourceType.BYTES); + return new VectorIndexFieldData.Builder(name(), CoreValuesSourceType.BYTES); } @Override diff --git a/x-pack/plugin/vectors/src/main/java/org/elasticsearch/xpack/vectors/query/VectorIndexFieldData.java b/x-pack/plugin/vectors/src/main/java/org/elasticsearch/xpack/vectors/query/VectorIndexFieldData.java index 19f5f1943aaa3..b9332ce4620bf 100644 --- a/x-pack/plugin/vectors/src/main/java/org/elasticsearch/xpack/vectors/query/VectorIndexFieldData.java +++ b/x-pack/plugin/vectors/src/main/java/org/elasticsearch/xpack/vectors/query/VectorIndexFieldData.java @@ -11,11 +11,9 @@ import org.apache.lucene.search.SortField; import org.elasticsearch.common.Nullable; import org.elasticsearch.common.util.BigArrays; -import org.elasticsearch.index.IndexSettings; import org.elasticsearch.index.fielddata.IndexFieldData; import org.elasticsearch.index.fielddata.IndexFieldData.XFieldComparatorSource.Nested; import org.elasticsearch.index.fielddata.IndexFieldDataCache; -import org.elasticsearch.index.mapper.MappedFieldType; import org.elasticsearch.index.mapper.MapperService; import org.elasticsearch.indices.breaker.CircuitBreakerService; import org.elasticsearch.search.DocValueFormat; @@ -72,17 +70,17 @@ public VectorDVLeafFieldData loadDirect(LeafReaderContext context) { } public static class Builder implements IndexFieldData.Builder { + private final String name; private final ValuesSourceType valuesSourceType; - public Builder(ValuesSourceType valuesSourceType) { + public Builder(String name, ValuesSourceType valuesSourceType) { + this.name = name; this.valuesSourceType = valuesSourceType; } @Override - public IndexFieldData build(IndexSettings indexSettings, MappedFieldType fieldType, IndexFieldDataCache cache, - CircuitBreakerService breakerService, MapperService mapperService) { - final String fieldName = fieldType.name(); - return new VectorIndexFieldData(fieldName, valuesSourceType); + public IndexFieldData build(IndexFieldDataCache cache, CircuitBreakerService breakerService, MapperService mapperService) { + return new VectorIndexFieldData(name, valuesSourceType); } } diff --git a/x-pack/plugin/wildcard/src/main/java/org/elasticsearch/xpack/wildcard/mapper/WildcardFieldMapper.java b/x-pack/plugin/wildcard/src/main/java/org/elasticsearch/xpack/wildcard/mapper/WildcardFieldMapper.java index c756afd855bb6..b434f75ba9892 100644 --- a/x-pack/plugin/wildcard/src/main/java/org/elasticsearch/xpack/wildcard/mapper/WildcardFieldMapper.java +++ b/x-pack/plugin/wildcard/src/main/java/org/elasticsearch/xpack/wildcard/mapper/WildcardFieldMapper.java @@ -46,7 +46,6 @@ import org.elasticsearch.common.xcontent.XContentBuilder; import org.elasticsearch.common.xcontent.XContentParser; import org.elasticsearch.common.xcontent.support.XContentMapValues; -import org.elasticsearch.index.IndexSettings; import org.elasticsearch.index.analysis.AnalyzerScope; import org.elasticsearch.index.analysis.LowercaseNormalizer; import org.elasticsearch.index.analysis.NamedAnalyzer; @@ -874,12 +873,15 @@ public Query termsQuery(List values, QueryShardContext context) { public IndexFieldData.Builder fielddataBuilder(String fullyQualifiedIndexName) { failIfNoDocValues(); return new IndexFieldData.Builder() { - @Override - public IndexFieldData build(IndexSettings indexSettings, MappedFieldType fieldType, IndexFieldDataCache cache, - CircuitBreakerService breakerService, MapperService mapperService) { - return new StringBinaryIndexFieldData(fieldType.name(), CoreValuesSourceType.BYTES); - }}; + public IndexFieldData build( + IndexFieldDataCache cache, + CircuitBreakerService breakerService, + MapperService mapperService + ) { + return new StringBinaryIndexFieldData(name(), CoreValuesSourceType.BYTES); + } + }; } } diff --git a/x-pack/plugin/wildcard/src/test/java/org/elasticsearch/xpack/wildcard/mapper/WildcardFieldMapperTests.java b/x-pack/plugin/wildcard/src/test/java/org/elasticsearch/xpack/wildcard/mapper/WildcardFieldMapperTests.java index 0942a93e67c12..e1d75fbf3c5eb 100644 --- a/x-pack/plugin/wildcard/src/test/java/org/elasticsearch/xpack/wildcard/mapper/WildcardFieldMapperTests.java +++ b/x-pack/plugin/wildcard/src/test/java/org/elasticsearch/xpack/wildcard/mapper/WildcardFieldMapperTests.java @@ -789,7 +789,7 @@ protected final QueryShardContext createMockShardContext() { BitsetFilterCache bitsetFilterCache = new BitsetFilterCache(idxSettings, Mockito.mock(BitsetFilterCache.Listener.class)); BiFunction> indexFieldDataLookup = (fieldType, fieldIndexName) -> { IndexFieldData.Builder builder = fieldType.fielddataBuilder(fieldIndexName); - return builder.build(idxSettings, fieldType, new IndexFieldDataCache.None(), null, null); + return builder.build(new IndexFieldDataCache.None(), null, null); }; return new QueryShardContext(0, idxSettings, BigArrays.NON_RECYCLING_INSTANCE, bitsetFilterCache, indexFieldDataLookup, null, null, null, xContentRegistry(), null, null, null,