diff --git a/modules/mapper-extras/src/main/java/org/elasticsearch/index/mapper/extras/RankFeatureFieldMapper.java b/modules/mapper-extras/src/main/java/org/elasticsearch/index/mapper/extras/RankFeatureFieldMapper.java index 0599ea38f1f46..cecbb25e16a20 100644 --- a/modules/mapper-extras/src/main/java/org/elasticsearch/index/mapper/extras/RankFeatureFieldMapper.java +++ b/modules/mapper-extras/src/main/java/org/elasticsearch/index/mapper/extras/RankFeatureFieldMapper.java @@ -23,7 +23,6 @@ import org.elasticsearch.index.mapper.MappedFieldType; import org.elasticsearch.index.mapper.MapperBuilderContext; import org.elasticsearch.index.mapper.SourceValueFetcher; -import org.elasticsearch.index.mapper.TextSearchInfo; import org.elasticsearch.index.mapper.ValueFetcher; import org.elasticsearch.index.query.SearchExecutionContext; import org.elasticsearch.xcontent.XContentBuilder; @@ -114,7 +113,7 @@ public static final class RankFeatureFieldType extends MappedFieldType { private final Float nullValue; public RankFeatureFieldType(String name, Map meta, boolean positiveScoreImpact, Float nullValue) { - super(name, true, false, false, TextSearchInfo.NONE, meta); + super(name, true, false, false, meta); this.positiveScoreImpact = positiveScoreImpact; this.nullValue = nullValue; } diff --git a/modules/mapper-extras/src/main/java/org/elasticsearch/index/mapper/extras/RankFeatureMetaFieldMapper.java b/modules/mapper-extras/src/main/java/org/elasticsearch/index/mapper/extras/RankFeatureMetaFieldMapper.java index ed1cc57b84863..2e45d331aaf7a 100644 --- a/modules/mapper-extras/src/main/java/org/elasticsearch/index/mapper/extras/RankFeatureMetaFieldMapper.java +++ b/modules/mapper-extras/src/main/java/org/elasticsearch/index/mapper/extras/RankFeatureMetaFieldMapper.java @@ -13,7 +13,6 @@ import org.apache.lucene.search.Query; import org.elasticsearch.index.mapper.MappedFieldType; import org.elasticsearch.index.mapper.MetadataFieldMapper; -import org.elasticsearch.index.mapper.TextSearchInfo; import org.elasticsearch.index.mapper.ValueFetcher; import org.elasticsearch.index.query.SearchExecutionContext; @@ -38,7 +37,7 @@ public static final class RankFeatureMetaFieldType extends MappedFieldType { // made visible for tests RankFeatureMetaFieldType() { - super(NAME, false, false, false, TextSearchInfo.NONE, Collections.emptyMap()); + super(NAME, false, false, false, Collections.emptyMap()); } @Override diff --git a/modules/mapper-extras/src/main/java/org/elasticsearch/index/mapper/extras/RankFeaturesFieldMapper.java b/modules/mapper-extras/src/main/java/org/elasticsearch/index/mapper/extras/RankFeaturesFieldMapper.java index f51bbe33c96b7..9496e05bbc161 100644 --- a/modules/mapper-extras/src/main/java/org/elasticsearch/index/mapper/extras/RankFeaturesFieldMapper.java +++ b/modules/mapper-extras/src/main/java/org/elasticsearch/index/mapper/extras/RankFeaturesFieldMapper.java @@ -80,7 +80,7 @@ public static final class RankFeaturesFieldType extends MappedFieldType { private final boolean positiveScoreImpact; public RankFeaturesFieldType(String name, Map meta, boolean positiveScoreImpact) { - super(name, true, false, false, TextSearchInfo.SIMPLE_MATCH_ONLY, meta); + super(name, true, false, false, meta); this.positiveScoreImpact = positiveScoreImpact; } @@ -104,6 +104,11 @@ public ValueFetcher valueFetcher(SearchExecutionContext context, String format) return SourceValueFetcher.identity(name(), context, format); } + @Override + public TextSearchInfo getTextSearchInfo() { + return TextSearchInfo.SIMPLE_MATCH_ONLY; + } + @Override public Query termQuery(Object value, SearchExecutionContext context) { return FeatureField.newLinearQuery(name(), indexedValueForSearch(value), DEFAULT_BOOST); diff --git a/modules/mapper-extras/src/main/java/org/elasticsearch/index/mapper/extras/ScaledFloatFieldMapper.java b/modules/mapper-extras/src/main/java/org/elasticsearch/index/mapper/extras/ScaledFloatFieldMapper.java index eb3372e9b6e85..c6f5aa84ae51c 100644 --- a/modules/mapper-extras/src/main/java/org/elasticsearch/index/mapper/extras/ScaledFloatFieldMapper.java +++ b/modules/mapper-extras/src/main/java/org/elasticsearch/index/mapper/extras/ScaledFloatFieldMapper.java @@ -284,7 +284,7 @@ public ScaledFloatFieldType( boolean coerce, boolean isSyntheticSource ) { - super(name, indexed, stored, hasDocValues, TextSearchInfo.SIMPLE_MATCH_WITHOUT_TERMS, meta); + super(name, indexed, stored, hasDocValues, meta); this.scalingFactor = scalingFactor; this.nullValue = nullValue; this.metricType = metricType; @@ -320,6 +320,11 @@ public boolean isSearchable() { return isIndexed() || hasDocValues(); } + @Override + public TextSearchInfo getTextSearchInfo() { + return TextSearchInfo.SIMPLE_MATCH_WITHOUT_TERMS; + } + @Override public Query termQuery(Object value, SearchExecutionContext context) { failIfNotIndexedNorDocValuesFallback(context); diff --git a/modules/percolator/src/main/java/org/elasticsearch/percolator/PercolatorFieldMapper.java b/modules/percolator/src/main/java/org/elasticsearch/percolator/PercolatorFieldMapper.java index d6422efdfed26..6cd5b527be493 100644 --- a/modules/percolator/src/main/java/org/elasticsearch/percolator/PercolatorFieldMapper.java +++ b/modules/percolator/src/main/java/org/elasticsearch/percolator/PercolatorFieldMapper.java @@ -55,7 +55,6 @@ import org.elasticsearch.index.mapper.RangeFieldMapper; import org.elasticsearch.index.mapper.RangeType; import org.elasticsearch.index.mapper.SourceValueFetcher; -import org.elasticsearch.index.mapper.TextSearchInfo; import org.elasticsearch.index.mapper.ValueFetcher; import org.elasticsearch.index.query.FilteredSearchExecutionContext; import org.elasticsearch.index.query.QueryBuilder; @@ -240,7 +239,7 @@ static class PercolatorFieldType extends MappedFieldType { boolean mapUnmappedFieldsAsText; private PercolatorFieldType(String name, Map meta) { - super(name, false, false, false, TextSearchInfo.NONE, meta); + super(name, false, false, false, meta); } @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 738fb7ab7c25e..4e202e3581e55 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 @@ -23,7 +23,6 @@ import org.elasticsearch.index.mapper.MappedFieldType; import org.elasticsearch.index.mapper.MapperBuilderContext; import org.elasticsearch.index.mapper.SourceValueFetcher; -import org.elasticsearch.index.mapper.TextSearchInfo; import org.elasticsearch.index.mapper.ValueFetcher; import org.elasticsearch.index.query.SearchExecutionContext; import org.elasticsearch.script.field.murmur3.Murmur3DocValueField; @@ -69,7 +68,7 @@ public Murmur3FieldMapper build(MapperBuilderContext context) { public static class Murmur3FieldType extends MappedFieldType { private Murmur3FieldType(String name, boolean isStored, Map meta) { - super(name, false, isStored, true, TextSearchInfo.NONE, meta); + super(name, false, isStored, true, meta); } @Override diff --git a/server/src/main/java/org/elasticsearch/index/mapper/AbstractGeometryFieldMapper.java b/server/src/main/java/org/elasticsearch/index/mapper/AbstractGeometryFieldMapper.java index 4733e610a148f..90a6aa06c1bc5 100644 --- a/server/src/main/java/org/elasticsearch/index/mapper/AbstractGeometryFieldMapper.java +++ b/server/src/main/java/org/elasticsearch/index/mapper/AbstractGeometryFieldMapper.java @@ -143,7 +143,7 @@ protected AbstractGeometryFieldType( T nullValue, Map meta ) { - super(name, indexed, stored, hasDocValues, TextSearchInfo.NONE, meta); + super(name, indexed, stored, hasDocValues, meta); this.nullValue = nullValue; this.geometryParser = geometryParser; } diff --git a/server/src/main/java/org/elasticsearch/index/mapper/AbstractScriptFieldType.java b/server/src/main/java/org/elasticsearch/index/mapper/AbstractScriptFieldType.java index 6887a66bc02ce..9d2c8e62c7c3a 100644 --- a/server/src/main/java/org/elasticsearch/index/mapper/AbstractScriptFieldType.java +++ b/server/src/main/java/org/elasticsearch/index/mapper/AbstractScriptFieldType.java @@ -62,7 +62,7 @@ protected AbstractScriptFieldType( Map meta, boolean isParsedFromSource ) { - super(name, false, false, false, TextSearchInfo.SIMPLE_MATCH_WITHOUT_TERMS, meta); + super(name, false, false, false, meta); this.factory = factory; this.script = Objects.requireNonNull(script); this.isResultDeterministic = isResultDeterministic; @@ -79,6 +79,11 @@ public final boolean isAggregatable() { return true; } + @Override + public TextSearchInfo getTextSearchInfo() { + return TextSearchInfo.SIMPLE_MATCH_WITHOUT_TERMS; + } + @Override public final Query rangeQuery( Object lowerTerm, 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 2093909876567..80186b18dc7a8 100644 --- a/server/src/main/java/org/elasticsearch/index/mapper/BinaryFieldMapper.java +++ b/server/src/main/java/org/elasticsearch/index/mapper/BinaryFieldMapper.java @@ -83,7 +83,7 @@ public BinaryFieldMapper build(MapperBuilderContext context) { public static final class BinaryFieldType extends MappedFieldType { private BinaryFieldType(String name, boolean isStored, boolean hasDocValues, Map meta) { - super(name, false, isStored, hasDocValues, TextSearchInfo.NONE, meta); + super(name, false, isStored, hasDocValues, meta); } public BinaryFieldType(String name) { diff --git a/server/src/main/java/org/elasticsearch/index/mapper/ConstantFieldType.java b/server/src/main/java/org/elasticsearch/index/mapper/ConstantFieldType.java index 0b246c2492fdb..6a1d7bd33e053 100644 --- a/server/src/main/java/org/elasticsearch/index/mapper/ConstantFieldType.java +++ b/server/src/main/java/org/elasticsearch/index/mapper/ConstantFieldType.java @@ -38,7 +38,7 @@ public abstract class ConstantFieldType extends MappedFieldType { @SuppressWarnings("this-escape") public ConstantFieldType(String name, Map meta) { - super(name, true, false, true, TextSearchInfo.SIMPLE_MATCH_WITHOUT_TERMS, meta); + super(name, true, false, true, meta); assert isSearchable(); } @@ -47,6 +47,11 @@ public final boolean isAggregatable() { return true; } + @Override + public TextSearchInfo getTextSearchInfo() { + return TextSearchInfo.SIMPLE_MATCH_WITHOUT_TERMS; + } + /** * Return whether the constant value of this field matches the provided {@code pattern} * as documented in {@link Regex#simpleMatch}. diff --git a/server/src/main/java/org/elasticsearch/index/mapper/DataStreamTimestampFieldMapper.java b/server/src/main/java/org/elasticsearch/index/mapper/DataStreamTimestampFieldMapper.java index b85e1bc4dc5d0..fe05ba162df78 100644 --- a/server/src/main/java/org/elasticsearch/index/mapper/DataStreamTimestampFieldMapper.java +++ b/server/src/main/java/org/elasticsearch/index/mapper/DataStreamTimestampFieldMapper.java @@ -49,7 +49,7 @@ public static final class TimestampFieldType extends MappedFieldType { static final TimestampFieldType INSTANCE = new TimestampFieldType(); private TimestampFieldType() { - super(NAME, false, false, false, TextSearchInfo.NONE, Map.of()); + super(NAME, false, false, false, Map.of()); } @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 0e34261baa996..859e60e628547 100644 --- a/server/src/main/java/org/elasticsearch/index/mapper/DateFieldMapper.java +++ b/server/src/main/java/org/elasticsearch/index/mapper/DateFieldMapper.java @@ -551,7 +551,7 @@ public DateFieldType( FieldValues scriptValues, Map meta ) { - super(name, isIndexed, isStored, hasDocValues, TextSearchInfo.SIMPLE_MATCH_WITHOUT_TERMS, meta); + super(name, isIndexed, isStored, hasDocValues, meta); this.dateTimeFormatter = dateTimeFormatter; this.dateMathParser = dateTimeFormatter.toDateMathParser(); this.resolution = resolution; @@ -665,6 +665,11 @@ public boolean hasDocValuesSkipper() { return hasDocValuesSkipper; } + @Override + public TextSearchInfo getTextSearchInfo() { + return TextSearchInfo.SIMPLE_MATCH_WITHOUT_TERMS; + } + /** * Format to use to resolve {@link Number}s from the source. Its valid * to send the numbers with up to six digits after the decimal place diff --git a/server/src/main/java/org/elasticsearch/index/mapper/DocCountFieldMapper.java b/server/src/main/java/org/elasticsearch/index/mapper/DocCountFieldMapper.java index 52828c5e430ba..d1eee2dfc6a96 100644 --- a/server/src/main/java/org/elasticsearch/index/mapper/DocCountFieldMapper.java +++ b/server/src/main/java/org/elasticsearch/index/mapper/DocCountFieldMapper.java @@ -44,7 +44,7 @@ public static final class DocCountFieldType extends MappedFieldType { public static final int DEFAULT_VALUE = 1; public DocCountFieldType() { - super(NAME, false, false, false, TextSearchInfo.NONE, Collections.emptyMap()); + super(NAME, false, false, false, Collections.emptyMap()); } @Override diff --git a/server/src/main/java/org/elasticsearch/index/mapper/DocumentParser.java b/server/src/main/java/org/elasticsearch/index/mapper/DocumentParser.java index 4112f9108d3ee..39e944daa5f14 100644 --- a/server/src/main/java/org/elasticsearch/index/mapper/DocumentParser.java +++ b/server/src/main/java/org/elasticsearch/index/mapper/DocumentParser.java @@ -951,7 +951,7 @@ private static Mapper getLeafMapper(final DocumentParserContext context, String private static FieldMapper noopFieldMapper(String path) { return new FieldMapper( NOOP_FIELD_MAPPER_NAME, - new MappedFieldType(NOOP_FIELD_MAPPER_NAME, false, false, false, TextSearchInfo.NONE, Collections.emptyMap()) { + new MappedFieldType(NOOP_FIELD_MAPPER_NAME, false, false, false, Collections.emptyMap()) { @Override public ValueFetcher valueFetcher(SearchExecutionContext context, String format) { throw new UnsupportedOperationException(); diff --git a/server/src/main/java/org/elasticsearch/index/mapper/InferenceMetadataFieldsMapper.java b/server/src/main/java/org/elasticsearch/index/mapper/InferenceMetadataFieldsMapper.java index 2dcd92be0952f..be6f0b8e39cec 100644 --- a/server/src/main/java/org/elasticsearch/index/mapper/InferenceMetadataFieldsMapper.java +++ b/server/src/main/java/org/elasticsearch/index/mapper/InferenceMetadataFieldsMapper.java @@ -65,7 +65,7 @@ public InferenceMetadataFieldType fieldType() { public abstract static class InferenceMetadataFieldType extends MappedFieldType { public InferenceMetadataFieldType() { - super(NAME, false, false, false, TextSearchInfo.NONE, Map.of()); + super(NAME, false, false, false, Map.of()); } /** 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 781e4e27752a3..26588de38fe54 100644 --- a/server/src/main/java/org/elasticsearch/index/mapper/IpFieldMapper.java +++ b/server/src/main/java/org/elasticsearch/index/mapper/IpFieldMapper.java @@ -249,7 +249,7 @@ public IpFieldType( boolean isDimension, boolean isSyntheticSource ) { - super(name, indexed, stored, hasDocValues, TextSearchInfo.SIMPLE_MATCH_WITHOUT_TERMS, meta); + super(name, indexed, stored, hasDocValues, meta); this.nullValue = nullValue; this.scriptValues = scriptValues; this.isDimension = isDimension; @@ -278,6 +278,11 @@ public boolean isSearchable() { return isIndexed() || hasDocValues(); } + @Override + public TextSearchInfo getTextSearchInfo() { + return TextSearchInfo.SIMPLE_MATCH_WITHOUT_TERMS; + } + @Override public boolean mayExistInIndex(SearchExecutionContext context) { return context.fieldExistsInIndex(name()); diff --git a/server/src/main/java/org/elasticsearch/index/mapper/LookupRuntimeFieldType.java b/server/src/main/java/org/elasticsearch/index/mapper/LookupRuntimeFieldType.java index c775f105a01c6..4c56e18f181ac 100644 --- a/server/src/main/java/org/elasticsearch/index/mapper/LookupRuntimeFieldType.java +++ b/server/src/main/java/org/elasticsearch/index/mapper/LookupRuntimeFieldType.java @@ -181,7 +181,7 @@ private LookupRuntimeFieldType( String targetField, List fetchFields ) { - super(name, false, false, false, TextSearchInfo.NONE, meta); + super(name, false, false, false, meta); this.lookupIndex = lookupIndex; this.inputField = inputField; this.targetField = targetField; diff --git a/server/src/main/java/org/elasticsearch/index/mapper/MappedFieldType.java b/server/src/main/java/org/elasticsearch/index/mapper/MappedFieldType.java index 77a13865f8d7c..7c0718a6d14a2 100644 --- a/server/src/main/java/org/elasticsearch/index/mapper/MappedFieldType.java +++ b/server/src/main/java/org/elasticsearch/index/mapper/MappedFieldType.java @@ -53,7 +53,6 @@ import java.util.HashSet; import java.util.List; import java.util.Map; -import java.util.Objects; import java.util.Set; import java.util.function.Function; import java.util.function.Supplier; @@ -69,22 +68,13 @@ public abstract class MappedFieldType { private final boolean docValues; private final boolean isIndexed; private final boolean isStored; - private final TextSearchInfo textSearchInfo; private final Map meta; - public MappedFieldType( - String name, - boolean isIndexed, - boolean isStored, - boolean hasDocValues, - TextSearchInfo textSearchInfo, - Map meta - ) { + public MappedFieldType(String name, boolean isIndexed, boolean isStored, boolean hasDocValues, Map meta) { this.name = Mapper.internFieldName(name); this.isIndexed = isIndexed; this.isStored = isStored; this.docValues = hasDocValues; - this.textSearchInfo = Objects.requireNonNull(textSearchInfo); // meta should be sorted but for the one item or empty case we can fall back to immutable maps to save some memory since order is // irrelevant this.meta = meta.size() <= 1 ? Map.copyOf(meta) : meta; @@ -649,7 +639,7 @@ public Map meta() { * {@link TextSearchInfo#SIMPLE_MATCH_WITHOUT_TERMS} */ public TextSearchInfo getTextSearchInfo() { - return textSearchInfo; + return TextSearchInfo.NONE; } public enum CollapseType { 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 fe3dac96541d2..89757aca89002 100644 --- a/server/src/main/java/org/elasticsearch/index/mapper/NumberFieldMapper.java +++ b/server/src/main/java/org/elasticsearch/index/mapper/NumberFieldMapper.java @@ -1915,7 +1915,7 @@ public NumberFieldType( IndexMode indexMode, boolean isSyntheticSource ) { - super(name, isIndexed, isStored, hasDocValues, TextSearchInfo.SIMPLE_MATCH_WITHOUT_TERMS, meta); + super(name, isIndexed, isStored, hasDocValues, meta); this.type = Objects.requireNonNull(type); this.coerce = coerce; this.nullValue = nullValue; @@ -1957,6 +1957,11 @@ public String typeName() { return type.name; } + @Override + public TextSearchInfo getTextSearchInfo() { + return TextSearchInfo.SIMPLE_MATCH_WITHOUT_TERMS; + } + /** * This method reinterprets a double precision value based on the maximum precision of the stored number field. Mostly this * corrects for unrepresentable values which have different approximations when cast from floats than when parsed as doubles. diff --git a/server/src/main/java/org/elasticsearch/index/mapper/PlaceHolderFieldMapper.java b/server/src/main/java/org/elasticsearch/index/mapper/PlaceHolderFieldMapper.java index 670ddc4d5ccda..7c5dfa2be0449 100644 --- a/server/src/main/java/org/elasticsearch/index/mapper/PlaceHolderFieldMapper.java +++ b/server/src/main/java/org/elasticsearch/index/mapper/PlaceHolderFieldMapper.java @@ -101,7 +101,7 @@ public static final class PlaceHolderFieldType extends MappedFieldType { private String type; public PlaceHolderFieldType(String name, String type, Map meta) { - super(name, false, false, false, TextSearchInfo.NONE, meta); + super(name, false, false, false, meta); this.type = type; } 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 e53fc3cba5d58..30c493c49b901 100644 --- a/server/src/main/java/org/elasticsearch/index/mapper/RangeFieldMapper.java +++ b/server/src/main/java/org/elasticsearch/index/mapper/RangeFieldMapper.java @@ -193,7 +193,7 @@ public RangeFieldType( boolean coerce, Map meta ) { - super(name, indexed, stored, hasDocValues, TextSearchInfo.SIMPLE_MATCH_WITHOUT_TERMS, meta); + super(name, indexed, stored, hasDocValues, meta); assert type != RangeType.DATE; this.rangeType = Objects.requireNonNull(type); dateTimeFormatter = null; @@ -214,7 +214,7 @@ public RangeFieldType( boolean coerce, Map meta ) { - super(name, indexed, stored, hasDocValues, TextSearchInfo.SIMPLE_MATCH_WITHOUT_TERMS, meta); + super(name, indexed, stored, hasDocValues, meta); this.rangeType = RangeType.DATE; this.dateTimeFormatter = Objects.requireNonNull(formatter); this.dateMathParser = dateTimeFormatter.toDateMathParser(); @@ -250,6 +250,11 @@ public SortField sortField( }; } + @Override + public TextSearchInfo getTextSearchInfo() { + return TextSearchInfo.SIMPLE_MATCH_WITHOUT_TERMS; + } + @Override public boolean mayExistInIndex(SearchExecutionContext context) { return context.fieldExistsInIndex(this.name()); 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 8dad7a14c4336..8b9cca8d416cc 100644 --- a/server/src/main/java/org/elasticsearch/index/mapper/SeqNoFieldMapper.java +++ b/server/src/main/java/org/elasticsearch/index/mapper/SeqNoFieldMapper.java @@ -144,7 +144,7 @@ static final class SeqNoFieldType extends SimpleMappedFieldType { private static final SeqNoFieldType NO_POINT = new SeqNoFieldType(false); private SeqNoFieldType(boolean indexed) { - super(NAME, indexed, false, true, TextSearchInfo.SIMPLE_MATCH_WITHOUT_TERMS, Collections.emptyMap()); + super(NAME, indexed, false, true, Collections.emptyMap()); } @Override @@ -152,6 +152,11 @@ public String typeName() { return CONTENT_TYPE; } + @Override + public TextSearchInfo getTextSearchInfo() { + return TextSearchInfo.SIMPLE_MATCH_WITHOUT_TERMS; + } + private static long parse(Object value) { if (value instanceof Number) { double doubleValue = ((Number) value).doubleValue(); diff --git a/server/src/main/java/org/elasticsearch/index/mapper/SimpleMappedFieldType.java b/server/src/main/java/org/elasticsearch/index/mapper/SimpleMappedFieldType.java index 968204e940309..2c4ac8b440319 100644 --- a/server/src/main/java/org/elasticsearch/index/mapper/SimpleMappedFieldType.java +++ b/server/src/main/java/org/elasticsearch/index/mapper/SimpleMappedFieldType.java @@ -22,15 +22,8 @@ */ public abstract class SimpleMappedFieldType extends MappedFieldType { - protected SimpleMappedFieldType( - String name, - boolean isIndexed, - boolean isStored, - boolean hasDocValues, - TextSearchInfo textSearchInfo, - Map meta - ) { - super(name, isIndexed, isStored, hasDocValues, textSearchInfo, meta); + protected SimpleMappedFieldType(String name, boolean isIndexed, boolean isStored, boolean hasDocValues, Map meta) { + super(name, isIndexed, isStored, hasDocValues, meta); } @Override diff --git a/server/src/main/java/org/elasticsearch/index/mapper/SourceFieldMapper.java b/server/src/main/java/org/elasticsearch/index/mapper/SourceFieldMapper.java index a4c8b0a5b50b1..deff0c7db7d11 100644 --- a/server/src/main/java/org/elasticsearch/index/mapper/SourceFieldMapper.java +++ b/server/src/main/java/org/elasticsearch/index/mapper/SourceFieldMapper.java @@ -339,7 +339,7 @@ static final class SourceFieldType extends MappedFieldType { private final boolean enabled; private SourceFieldType(boolean enabled) { - super(NAME, false, enabled, false, TextSearchInfo.NONE, Collections.emptyMap()); + super(NAME, false, enabled, false, Collections.emptyMap()); this.enabled = enabled; } diff --git a/server/src/main/java/org/elasticsearch/index/mapper/TermBasedFieldType.java b/server/src/main/java/org/elasticsearch/index/mapper/TermBasedFieldType.java index e2ff9cc7ea632..598555ba99791 100644 --- a/server/src/main/java/org/elasticsearch/index/mapper/TermBasedFieldType.java +++ b/server/src/main/java/org/elasticsearch/index/mapper/TermBasedFieldType.java @@ -26,6 +26,8 @@ * with the inverted index. */ public abstract class TermBasedFieldType extends SimpleMappedFieldType { + protected final TextSearchInfo textSearchInfo; + public TermBasedFieldType( String name, boolean isIndexed, @@ -34,7 +36,13 @@ public TermBasedFieldType( TextSearchInfo textSearchInfo, Map meta ) { - super(name, isIndexed, isStored, hasDocValues, textSearchInfo, meta); + super(name, isIndexed, isStored, hasDocValues, meta); + this.textSearchInfo = textSearchInfo; + } + + @Override + public TextSearchInfo getTextSearchInfo() { + return this.textSearchInfo; } /** Returns the indexed value used to construct search "values". diff --git a/server/src/main/java/org/elasticsearch/index/mapper/TimeSeriesIdFieldMapper.java b/server/src/main/java/org/elasticsearch/index/mapper/TimeSeriesIdFieldMapper.java index 828e33b55d720..66eb648ed0a5e 100644 --- a/server/src/main/java/org/elasticsearch/index/mapper/TimeSeriesIdFieldMapper.java +++ b/server/src/main/java/org/elasticsearch/index/mapper/TimeSeriesIdFieldMapper.java @@ -94,7 +94,7 @@ public TimeSeriesIdFieldMapper build() { public static final class TimeSeriesIdFieldType extends MappedFieldType { private TimeSeriesIdFieldType() { - super(NAME, false, false, true, TextSearchInfo.NONE, Collections.emptyMap()); + super(NAME, false, false, true, Collections.emptyMap()); } @Override diff --git a/server/src/main/java/org/elasticsearch/index/mapper/TimeSeriesRoutingHashFieldMapper.java b/server/src/main/java/org/elasticsearch/index/mapper/TimeSeriesRoutingHashFieldMapper.java index 4a6ba5d1fa800..313a43b38a712 100644 --- a/server/src/main/java/org/elasticsearch/index/mapper/TimeSeriesRoutingHashFieldMapper.java +++ b/server/src/main/java/org/elasticsearch/index/mapper/TimeSeriesRoutingHashFieldMapper.java @@ -77,7 +77,7 @@ public BytesRef parseBytesRef(Object value) { }; private TimeSeriesRoutingHashFieldType() { - super(NAME, false, false, true, TextSearchInfo.NONE, Collections.emptyMap()); + super(NAME, false, false, true, Collections.emptyMap()); } @Override diff --git a/server/src/main/java/org/elasticsearch/index/mapper/VersionFieldMapper.java b/server/src/main/java/org/elasticsearch/index/mapper/VersionFieldMapper.java index f84b2b1d78fed..5c1d79816aa7b 100644 --- a/server/src/main/java/org/elasticsearch/index/mapper/VersionFieldMapper.java +++ b/server/src/main/java/org/elasticsearch/index/mapper/VersionFieldMapper.java @@ -41,7 +41,7 @@ static final class VersionFieldType extends MappedFieldType { public static final VersionFieldType INSTANCE = new VersionFieldType(); private VersionFieldType() { - super(NAME, false, false, true, TextSearchInfo.NONE, Collections.emptyMap()); + super(NAME, false, false, true, Collections.emptyMap()); } @Override diff --git a/server/src/main/java/org/elasticsearch/index/mapper/vectors/DenseVectorFieldMapper.java b/server/src/main/java/org/elasticsearch/index/mapper/vectors/DenseVectorFieldMapper.java index 7b8c9934f8104..f5159054a678b 100644 --- a/server/src/main/java/org/elasticsearch/index/mapper/vectors/DenseVectorFieldMapper.java +++ b/server/src/main/java/org/elasticsearch/index/mapper/vectors/DenseVectorFieldMapper.java @@ -71,7 +71,6 @@ import org.elasticsearch.index.mapper.SimpleMappedFieldType; import org.elasticsearch.index.mapper.SourceLoader; import org.elasticsearch.index.mapper.SourceValueFetcher; -import org.elasticsearch.index.mapper.TextSearchInfo; import org.elasticsearch.index.mapper.ValueFetcher; import org.elasticsearch.index.query.SearchExecutionContext; import org.elasticsearch.search.DocValueFormat; @@ -2228,7 +2227,7 @@ public DenseVectorFieldType( Map meta, boolean isSyntheticSource ) { - super(name, indexed, false, indexed == false, TextSearchInfo.NONE, meta); + super(name, indexed, false, indexed == false, meta); this.element = Element.getElement(elementType); this.dims = dims; this.indexed = indexed; diff --git a/server/src/main/java/org/elasticsearch/index/mapper/vectors/SparseVectorFieldMapper.java b/server/src/main/java/org/elasticsearch/index/mapper/vectors/SparseVectorFieldMapper.java index c922be5999119..c55bb0b901a24 100644 --- a/server/src/main/java/org/elasticsearch/index/mapper/vectors/SparseVectorFieldMapper.java +++ b/server/src/main/java/org/elasticsearch/index/mapper/vectors/SparseVectorFieldMapper.java @@ -224,7 +224,7 @@ public SparseVectorFieldType( Map meta, @Nullable SparseVectorIndexOptions indexOptions ) { - super(name, true, isStored, false, TextSearchInfo.SIMPLE_MATCH_ONLY, meta); + super(name, true, isStored, false, meta); this.indexVersionCreated = indexVersionCreated; this.indexOptions = indexOptions; } @@ -243,6 +243,11 @@ public boolean isVectorEmbedding() { return true; } + @Override + public TextSearchInfo getTextSearchInfo() { + return TextSearchInfo.SIMPLE_MATCH_ONLY; + } + @Override public IndexFieldData.Builder fielddataBuilder(FieldDataContext fieldDataContext) { throw new IllegalArgumentException("[sparse_vector] fields do not support sorting, scripting or aggregating"); diff --git a/server/src/test/java/org/elasticsearch/index/IndexSortSettingsTests.java b/server/src/test/java/org/elasticsearch/index/IndexSortSettingsTests.java index 52cc1348fd48a..478996be08e93 100644 --- a/server/src/test/java/org/elasticsearch/index/IndexSortSettingsTests.java +++ b/server/src/test/java/org/elasticsearch/index/IndexSortSettingsTests.java @@ -21,7 +21,6 @@ import org.elasticsearch.index.mapper.DateFieldMapper; import org.elasticsearch.index.mapper.KeywordFieldMapper; import org.elasticsearch.index.mapper.MappedFieldType; -import org.elasticsearch.index.mapper.TextSearchInfo; import org.elasticsearch.index.mapper.TimeSeriesIdFieldMapper; import org.elasticsearch.index.mapper.ValueFetcher; import org.elasticsearch.index.query.SearchExecutionContext; @@ -129,7 +128,7 @@ public void testInvalidMissing() { public void testIndexSortingNoDocValues() { IndexSettings indexSettings = indexSettings(Settings.builder().put("index.sort.field", "field").build()); - MappedFieldType fieldType = new MappedFieldType("field", false, false, false, TextSearchInfo.NONE, Collections.emptyMap()) { + MappedFieldType fieldType = new MappedFieldType("field", false, false, false, Collections.emptyMap()) { @Override public String typeName() { return null; diff --git a/server/src/test/java/org/elasticsearch/index/mapper/MappingLookupInferenceFieldMapperTests.java b/server/src/test/java/org/elasticsearch/index/mapper/MappingLookupInferenceFieldMapperTests.java index 93ac31c9ba582..91038d5fbd373 100644 --- a/server/src/test/java/org/elasticsearch/index/mapper/MappingLookupInferenceFieldMapperTests.java +++ b/server/src/test/java/org/elasticsearch/index/mapper/MappingLookupInferenceFieldMapperTests.java @@ -145,7 +145,7 @@ public FieldMapper build(MapperBuilderContext context) { private static class TestInferenceFieldMapperFieldType extends MappedFieldType { TestInferenceFieldMapperFieldType(String name) { - super(name, false, false, false, TextSearchInfo.NONE, Map.of()); + super(name, false, false, false, Map.of()); } @Override diff --git a/server/src/test/java/org/elasticsearch/index/mapper/TestRuntimeField.java b/server/src/test/java/org/elasticsearch/index/mapper/TestRuntimeField.java index f3e9df9c2baf6..fcccc184d7639 100644 --- a/server/src/test/java/org/elasticsearch/index/mapper/TestRuntimeField.java +++ b/server/src/test/java/org/elasticsearch/index/mapper/TestRuntimeField.java @@ -56,7 +56,7 @@ public static class TestRuntimeFieldType extends MappedFieldType { private final String type; public TestRuntimeFieldType(String name, String type) { - super(name, false, false, false, TextSearchInfo.NONE, Collections.emptyMap()); + super(name, false, false, false, Collections.emptyMap()); this.type = type; } diff --git a/server/src/test/java/org/elasticsearch/search/collapse/CollapseBuilderTests.java b/server/src/test/java/org/elasticsearch/search/collapse/CollapseBuilderTests.java index 336fae2cfec2f..78004a1186e34 100644 --- a/server/src/test/java/org/elasticsearch/search/collapse/CollapseBuilderTests.java +++ b/server/src/test/java/org/elasticsearch/search/collapse/CollapseBuilderTests.java @@ -21,7 +21,6 @@ import org.elasticsearch.index.mapper.KeywordFieldMapper; import org.elasticsearch.index.mapper.MappedFieldType; import org.elasticsearch.index.mapper.NumberFieldMapper; -import org.elasticsearch.index.mapper.TextSearchInfo; import org.elasticsearch.index.mapper.ValueFetcher; import org.elasticsearch.index.query.InnerHitBuilder; import org.elasticsearch.index.query.InnerHitBuilderTests; @@ -216,7 +215,7 @@ public void testBuildWithExceptions() { } { - MappedFieldType fieldType = new MappedFieldType("field", true, false, true, TextSearchInfo.NONE, Collections.emptyMap()) { + MappedFieldType fieldType = new MappedFieldType("field", true, false, true, Collections.emptyMap()) { @Override public String typeName() { return "some_type"; diff --git a/server/src/test/java/org/elasticsearch/search/slice/SliceBuilderTests.java b/server/src/test/java/org/elasticsearch/search/slice/SliceBuilderTests.java index 1cc8565f370f3..74eae0e633ea7 100644 --- a/server/src/test/java/org/elasticsearch/search/slice/SliceBuilderTests.java +++ b/server/src/test/java/org/elasticsearch/search/slice/SliceBuilderTests.java @@ -31,7 +31,6 @@ import org.elasticsearch.index.IndexVersion; import org.elasticsearch.index.fielddata.IndexNumericFieldData; import org.elasticsearch.index.mapper.MappedFieldType; -import org.elasticsearch.index.mapper.TextSearchInfo; import org.elasticsearch.index.mapper.ValueFetcher; import org.elasticsearch.index.query.SearchExecutionContext; import org.elasticsearch.index.shard.ShardId; @@ -134,14 +133,7 @@ private SearchExecutionContext createShardContext( String fieldName, DocValuesType dvType ) { - MappedFieldType fieldType = new MappedFieldType( - fieldName, - true, - false, - dvType != null, - TextSearchInfo.NONE, - Collections.emptyMap() - ) { + MappedFieldType fieldType = new MappedFieldType(fieldName, true, false, dvType != null, Collections.emptyMap()) { @Override public ValueFetcher valueFetcher(SearchExecutionContext context, String format) { diff --git a/test/framework/src/main/java/org/elasticsearch/index/mapper/FieldTypeTestCase.java b/test/framework/src/main/java/org/elasticsearch/index/mapper/FieldTypeTestCase.java index 1c4cfa4ec7ff9..adb45f6fef48e 100644 --- a/test/framework/src/main/java/org/elasticsearch/index/mapper/FieldTypeTestCase.java +++ b/test/framework/src/main/java/org/elasticsearch/index/mapper/FieldTypeTestCase.java @@ -112,7 +112,7 @@ public void testFieldHasValueWithEmptyFieldInfos() { } public MappedFieldType getMappedFieldType() { - return new MappedFieldType("field", false, false, false, TextSearchInfo.NONE, Collections.emptyMap()) { + return new MappedFieldType("field", false, false, false, Collections.emptyMap()) { @Override public ValueFetcher valueFetcher(SearchExecutionContext context, String format) { 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 fcf2d572f2d14..7c3beaeb0bb78 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 @@ -38,7 +38,6 @@ import org.elasticsearch.index.mapper.MapperBuilderContext; import org.elasticsearch.index.mapper.SourceLoader; import org.elasticsearch.index.mapper.SourceValueFetcher; -import org.elasticsearch.index.mapper.TextSearchInfo; import org.elasticsearch.index.mapper.ValueFetcher; import org.elasticsearch.index.query.SearchExecutionContext; import org.elasticsearch.script.field.DocValuesScriptFieldFactory; @@ -141,7 +140,7 @@ protected void parseCreateField(DocumentParserContext context) { public static class HistogramFieldType extends MappedFieldType { public HistogramFieldType(String name, Map meta) { - super(name, false, false, true, TextSearchInfo.NONE, meta); + super(name, false, false, true, meta); } @Override diff --git a/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/mapper/OffsetSourceFieldMapper.java b/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/mapper/OffsetSourceFieldMapper.java index e612076f1aaf2..41dfb842df3a8 100644 --- a/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/mapper/OffsetSourceFieldMapper.java +++ b/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/mapper/OffsetSourceFieldMapper.java @@ -16,7 +16,6 @@ import org.elasticsearch.index.mapper.FieldMapper; import org.elasticsearch.index.mapper.MappedFieldType; import org.elasticsearch.index.mapper.MapperBuilderContext; -import org.elasticsearch.index.mapper.TextSearchInfo; import org.elasticsearch.index.mapper.ValueFetcher; import org.elasticsearch.index.query.SearchExecutionContext; import org.elasticsearch.search.fetch.StoredFieldsSpec; @@ -133,7 +132,7 @@ public static final class OffsetSourceFieldType extends MappedFieldType { private final CharsetFormat charset; public OffsetSourceFieldType(String name, CharsetFormat charset, Map meta) { - super(name, true, false, false, TextSearchInfo.NONE, meta); + super(name, true, false, false, meta); this.charset = charset; } diff --git a/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/mapper/SemanticTextFieldMapper.java b/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/mapper/SemanticTextFieldMapper.java index b7c01ce817b32..066e1ac6ca150 100644 --- a/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/mapper/SemanticTextFieldMapper.java +++ b/x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/mapper/SemanticTextFieldMapper.java @@ -58,7 +58,6 @@ import org.elasticsearch.index.mapper.SourceLoader; import org.elasticsearch.index.mapper.SourceValueFetcher; import org.elasticsearch.index.mapper.TextFieldMapper; -import org.elasticsearch.index.mapper.TextSearchInfo; import org.elasticsearch.index.mapper.ValueFetcher; import org.elasticsearch.index.mapper.vectors.DenseVectorFieldMapper; import org.elasticsearch.index.mapper.vectors.SparseVectorFieldMapper; @@ -784,7 +783,7 @@ public SemanticTextFieldType( boolean useLegacyFormat, Map meta ) { - super(name, true, false, false, TextSearchInfo.NONE, meta); + super(name, true, false, false, meta); this.inferenceId = inferenceId; this.searchInferenceId = searchInferenceId; this.modelSettings = modelSettings; diff --git a/x-pack/plugin/mapper-aggregate-metric/src/main/java/org/elasticsearch/xpack/aggregatemetric/mapper/AggregateMetricDoubleFieldMapper.java b/x-pack/plugin/mapper-aggregate-metric/src/main/java/org/elasticsearch/xpack/aggregatemetric/mapper/AggregateMetricDoubleFieldMapper.java index bb891a57064bd..398ec2d4dc424 100644 --- a/x-pack/plugin/mapper-aggregate-metric/src/main/java/org/elasticsearch/xpack/aggregatemetric/mapper/AggregateMetricDoubleFieldMapper.java +++ b/x-pack/plugin/mapper-aggregate-metric/src/main/java/org/elasticsearch/xpack/aggregatemetric/mapper/AggregateMetricDoubleFieldMapper.java @@ -307,7 +307,7 @@ public AggregateMetricDoubleFieldType(String name) { } public AggregateMetricDoubleFieldType(String name, Map meta, MetricType metricType) { - super(name, true, false, true, TextSearchInfo.SIMPLE_MATCH_WITHOUT_TERMS, meta); + super(name, true, false, true, meta); this.metricType = metricType; } @@ -332,6 +332,11 @@ public String typeName() { return CONTENT_TYPE; } + @Override + public TextSearchInfo getTextSearchInfo() { + return TextSearchInfo.SIMPLE_MATCH_WITHOUT_TERMS; + } + private void setMetricFields(EnumMap metricFields) { this.metricFields = metricFields; } diff --git a/x-pack/plugin/mapper-exponential-histogram/src/main/java/org/elasticsearch/xpack/exponentialhistogram/ExponentialHistogramFieldMapper.java b/x-pack/plugin/mapper-exponential-histogram/src/main/java/org/elasticsearch/xpack/exponentialhistogram/ExponentialHistogramFieldMapper.java index 3f8ee1127c181..99102b56af62a 100644 --- a/x-pack/plugin/mapper-exponential-histogram/src/main/java/org/elasticsearch/xpack/exponentialhistogram/ExponentialHistogramFieldMapper.java +++ b/x-pack/plugin/mapper-exponential-histogram/src/main/java/org/elasticsearch/xpack/exponentialhistogram/ExponentialHistogramFieldMapper.java @@ -34,7 +34,6 @@ import org.elasticsearch.index.mapper.MapperBuilderContext; import org.elasticsearch.index.mapper.SourceLoader; import org.elasticsearch.index.mapper.SourceValueFetcher; -import org.elasticsearch.index.mapper.TextSearchInfo; import org.elasticsearch.index.mapper.ValueFetcher; import org.elasticsearch.index.query.SearchExecutionContext; import org.elasticsearch.xcontent.CopyingXContentParser; @@ -228,7 +227,7 @@ protected void parseCreateField(DocumentParserContext context) { static class ExponentialHistogramFieldType extends MappedFieldType { ExponentialHistogramFieldType(String name, Map meta) { - super(name, false, false, true, TextSearchInfo.NONE, meta); + super(name, false, false, true, meta); } @Override diff --git a/x-pack/plugin/mapper-unsigned-long/src/main/java/org/elasticsearch/xpack/unsignedlong/UnsignedLongFieldMapper.java b/x-pack/plugin/mapper-unsigned-long/src/main/java/org/elasticsearch/xpack/unsignedlong/UnsignedLongFieldMapper.java index 2962278117195..cd8c96a0a5e19 100644 --- a/x-pack/plugin/mapper-unsigned-long/src/main/java/org/elasticsearch/xpack/unsignedlong/UnsignedLongFieldMapper.java +++ b/x-pack/plugin/mapper-unsigned-long/src/main/java/org/elasticsearch/xpack/unsignedlong/UnsignedLongFieldMapper.java @@ -285,7 +285,7 @@ public UnsignedLongFieldType( IndexMode indexMode, boolean isSyntheticSource ) { - super(name, indexed, isStored, hasDocValues, TextSearchInfo.SIMPLE_MATCH_WITHOUT_TERMS, meta); + super(name, indexed, isStored, hasDocValues, meta); this.nullValueFormatted = nullValueFormatted; this.isDimension = isDimension; this.metricType = metricType; @@ -302,6 +302,11 @@ public String typeName() { return CONTENT_TYPE; } + @Override + public TextSearchInfo getTextSearchInfo() { + return TextSearchInfo.SIMPLE_MATCH_WITHOUT_TERMS; + } + @Override public boolean mayExistInIndex(SearchExecutionContext context) { return context.fieldExistsInIndex(name()); diff --git a/x-pack/plugin/rank-vectors/src/main/java/org/elasticsearch/xpack/rank/vectors/mapper/RankVectorsFieldMapper.java b/x-pack/plugin/rank-vectors/src/main/java/org/elasticsearch/xpack/rank/vectors/mapper/RankVectorsFieldMapper.java index 0fa59124bc84e..5c9c1c7d79f41 100644 --- a/x-pack/plugin/rank-vectors/src/main/java/org/elasticsearch/xpack/rank/vectors/mapper/RankVectorsFieldMapper.java +++ b/x-pack/plugin/rank-vectors/src/main/java/org/elasticsearch/xpack/rank/vectors/mapper/RankVectorsFieldMapper.java @@ -26,7 +26,6 @@ import org.elasticsearch.index.mapper.MapperParsingException; import org.elasticsearch.index.mapper.SimpleMappedFieldType; import org.elasticsearch.index.mapper.SourceLoader; -import org.elasticsearch.index.mapper.TextSearchInfo; import org.elasticsearch.index.mapper.ValueFetcher; import org.elasticsearch.index.mapper.vectors.DenseVectorFieldMapper; import org.elasticsearch.index.mapper.vectors.DenseVectorFieldMapper.Element; @@ -173,7 +172,7 @@ public RankVectorsFieldType( XPackLicenseState licenseState, Map meta ) { - super(name, false, false, true, TextSearchInfo.NONE, meta); + super(name, false, false, true, meta); this.element = Element.getElement(elementType); this.dims = dims; this.licenseState = licenseState; 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 874ea05c00e34..636f856e78f89 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 @@ -281,7 +281,7 @@ public static final class WildcardFieldType extends MappedFieldType { private final IgnoreAbove ignoreAbove; private WildcardFieldType(String name, IndexVersion version, Map meta, Builder builder) { - super(name, true, false, true, Defaults.TEXT_SEARCH_INFO, meta); + super(name, true, false, true, meta); if (version.onOrAfter(IndexVersions.V_7_10_0)) { this.analyzer = WILDCARD_ANALYZER_7_10; } else { @@ -296,6 +296,11 @@ public boolean mayExistInIndex(SearchExecutionContext context) { return context.fieldExistsInIndex(name()); } + @Override + public TextSearchInfo getTextSearchInfo() { + return Defaults.TEXT_SEARCH_INFO; + } + @Override public Query normalizedWildcardQuery(String value, MultiTermQuery.RewriteMethod method, SearchExecutionContext context) { return wildcardQuery(value, method, false, context);