From a3e9d240b908dee7f9b898f8389dc76eaf9c29bf Mon Sep 17 00:00:00 2001 From: Luca Cavanna Date: Wed, 7 Oct 2020 14:23:48 +0200 Subject: [PATCH] Rename QueryShardContext#fieldMapper to getFieldType Given that we have a class called `FieldMapper` and that the `fieldMapper` method exposed by `QueryShardContext` actually allows to get a `MappedFieldType` given its name, this commit renames such method to `getFieldType` --- .../index/query/RankFeatureQueryBuilder.java | 6 +-- .../percolator/PercolateQueryBuilder.java | 2 +- .../percolator/QueryBuilderStoreTests.java | 2 +- .../rescore/ExampleRescoreBuilder.java | 4 +- .../query/AbstractGeometryQueryBuilder.java | 2 +- .../query/DistanceFeatureQueryBuilder.java | 2 +- .../index/query/ExistsQueryBuilder.java | 4 +- .../query/FieldMaskingSpanQueryBuilder.java | 2 +- .../index/query/FuzzyQueryBuilder.java | 4 +- .../query/GeoBoundingBoxQueryBuilder.java | 2 +- .../index/query/GeoDistanceQueryBuilder.java | 2 +- .../index/query/GeoPolygonQueryBuilder.java | 2 +- .../index/query/IdsQueryBuilder.java | 4 +- .../index/query/IntervalQueryBuilder.java | 6 +-- .../index/query/IntervalsSourceProvider.java | 8 ++-- .../index/query/MoreLikeThisQueryBuilder.java | 4 +- .../index/query/PrefixQueryBuilder.java | 28 ++++++------- .../index/query/QueryShardContext.java | 2 +- .../index/query/RangeQueryBuilder.java | 6 +-- .../index/query/RegexpQueryBuilder.java | 2 +- .../query/SpanMultiTermQueryBuilder.java | 2 +- .../index/query/SpanNearQueryBuilder.java | 2 +- .../index/query/SpanTermQueryBuilder.java | 2 +- .../index/query/TermQueryBuilder.java | 41 +++++++++---------- .../index/query/TermsQueryBuilder.java | 6 +-- .../index/query/TermsSetQueryBuilder.java | 4 +- .../VectorGeoPointShapeQueryProcessor.java | 4 +- .../index/query/WildcardQueryBuilder.java | 26 ++++++------ .../functionscore/DecayFunctionBuilder.java | 2 +- .../FieldValueFactorFunctionBuilder.java | 2 +- .../RandomScoreFunctionBuilder.java | 2 +- .../index/search/MatchQuery.java | 2 +- .../index/search/MultiMatchQuery.java | 6 +-- .../index/search/QueryParserHelper.java | 4 +- .../index/search/QueryStringQueryParser.java | 14 +++---- .../search/SimpleQueryStringQueryParser.java | 6 +-- .../SignificantTextAggregatorFactory.java | 2 +- .../support/ValuesSourceConfig.java | 2 +- .../search/collapse/CollapseBuilder.java | 2 +- .../search/slice/SliceBuilder.java | 2 +- .../search/sort/FieldSortBuilder.java | 8 ++-- .../search/sort/GeoDistanceSortBuilder.java | 2 +- .../search/suggest/SuggestionBuilder.java | 2 +- .../CompletionSuggestionBuilder.java | 2 +- ...angeFieldQueryStringQueryBuilderTests.java | 4 +- .../DistanceFeatureQueryBuilderTests.java | 2 +- .../index/query/ExistsQueryBuilderTests.java | 4 +- .../GeoBoundingBoxQueryBuilderTests.java | 2 +- .../query/GeoPolygonQueryBuilderTests.java | 2 +- .../index/query/MatchQueryBuilderTests.java | 2 +- .../index/query/PrefixQueryBuilderTests.java | 8 ++-- .../index/query/QueryShardContextTests.java | 2 +- .../query/QueryStringQueryBuilderTests.java | 4 +- .../index/query/RangeQueryBuilderTests.java | 10 ++--- .../query/SpanTermQueryBuilderTests.java | 2 +- .../index/query/TermQueryBuilderTests.java | 2 +- .../index/query/TermsQueryBuilderTests.java | 2 +- .../ScoreFunctionBuilderTests.java | 4 +- .../search/DefaultSearchContextTests.java | 2 +- .../search/collapse/CollapseBuilderTests.java | 14 +++---- .../highlight/HighlightBuilderTests.java | 2 +- .../rescore/QueryRescorerBuilderTests.java | 4 +- .../search/slice/SliceBuilderTests.java | 2 +- .../search/sort/AbstractSortTestCase.java | 2 +- .../index/mapper/MapperServiceTestCase.java | 2 +- .../action/EnrichShardMultiSearchAction.java | 2 +- .../AbstractScriptFieldTypeTestCase.java | 2 +- .../PinnedQueryBuilder.java | 20 ++++----- .../index/query/ShapeQueryPointProcessor.java | 6 +-- .../index/query/ShapeQueryProcessor.java | 4 +- .../spatial/ingest/CircleProcessorTests.java | 4 +- .../mapper/WildcardFieldMapperTests.java | 16 ++++---- 72 files changed, 186 insertions(+), 187 deletions(-) diff --git a/modules/mapper-extras/src/main/java/org/elasticsearch/index/query/RankFeatureQueryBuilder.java b/modules/mapper-extras/src/main/java/org/elasticsearch/index/query/RankFeatureQueryBuilder.java index 86990d95c42c6..8ad2f2385b1c6 100644 --- a/modules/mapper-extras/src/main/java/org/elasticsearch/index/query/RankFeatureQueryBuilder.java +++ b/modules/mapper-extras/src/main/java/org/elasticsearch/index/query/RankFeatureQueryBuilder.java @@ -27,10 +27,10 @@ import org.elasticsearch.common.io.stream.StreamOutput; import org.elasticsearch.common.xcontent.ConstructingObjectParser; import org.elasticsearch.common.xcontent.XContentBuilder; +import org.elasticsearch.index.mapper.MappedFieldType; import org.elasticsearch.index.mapper.RankFeatureFieldMapper.RankFeatureFieldType; import org.elasticsearch.index.mapper.RankFeatureMetaFieldMapper; import org.elasticsearch.index.mapper.RankFeaturesFieldMapper.RankFeaturesFieldType; -import org.elasticsearch.index.mapper.MappedFieldType; import java.io.IOException; import java.util.Arrays; @@ -337,7 +337,7 @@ protected void doXContent(XContentBuilder builder, Params params) throws IOExcep @Override protected Query doToQuery(QueryShardContext context) throws IOException { - final MappedFieldType ft = context.fieldMapper(field); + final MappedFieldType ft = context.getFieldType(field); if (ft instanceof RankFeatureFieldType) { final RankFeatureFieldType fft = (RankFeatureFieldType) ft; @@ -346,7 +346,7 @@ protected Query doToQuery(QueryShardContext context) throws IOException { final int lastDotIndex = field.lastIndexOf('.'); if (lastDotIndex != -1) { final String parentField = field.substring(0, lastDotIndex); - final MappedFieldType parentFt = context.fieldMapper(parentField); + final MappedFieldType parentFt = context.getFieldType(parentField); if (parentFt instanceof RankFeaturesFieldType) { return scoreFunction.toQuery(parentField, field.substring(lastDotIndex + 1), true); } 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 353451f596bcc..a583c31831eb6 100644 --- a/modules/percolator/src/main/java/org/elasticsearch/percolator/PercolateQueryBuilder.java +++ b/modules/percolator/src/main/java/org/elasticsearch/percolator/PercolateQueryBuilder.java @@ -453,7 +453,7 @@ protected Query doToQuery(QueryShardContext context) throws IOException { throw new IllegalStateException("no document to percolate"); } - MappedFieldType fieldType = context.fieldMapper(field); + MappedFieldType fieldType = context.getFieldType(field); if (fieldType == null) { throw new QueryShardException(context, "field [" + field + "] does not exist"); } diff --git a/modules/percolator/src/test/java/org/elasticsearch/percolator/QueryBuilderStoreTests.java b/modules/percolator/src/test/java/org/elasticsearch/percolator/QueryBuilderStoreTests.java index 943730d7109c3..17ceace5b1b47 100644 --- a/modules/percolator/src/test/java/org/elasticsearch/percolator/QueryBuilderStoreTests.java +++ b/modules/percolator/src/test/java/org/elasticsearch/percolator/QueryBuilderStoreTests.java @@ -95,7 +95,7 @@ public void testStoringQueryBuilders() throws IOException { when(queryShardContext.getXContentRegistry()).thenReturn(xContentRegistry()); when(queryShardContext.getForField(fieldMapper.fieldType())) .thenReturn(new BytesBinaryIndexFieldData(fieldMapper.name(), CoreValuesSourceType.BYTES)); - when(queryShardContext.fieldMapper(Mockito.anyString())).thenAnswer(invocation -> { + when(queryShardContext.getFieldType(Mockito.anyString())).thenAnswer(invocation -> { final String fieldName = (String) invocation.getArguments()[0]; return new KeywordFieldMapper.KeywordFieldType(fieldName); }); diff --git a/plugins/examples/rescore/src/main/java/org/elasticsearch/example/rescore/ExampleRescoreBuilder.java b/plugins/examples/rescore/src/main/java/org/elasticsearch/example/rescore/ExampleRescoreBuilder.java index cf16500378583..514e07d993b52 100644 --- a/plugins/examples/rescore/src/main/java/org/elasticsearch/example/rescore/ExampleRescoreBuilder.java +++ b/plugins/examples/rescore/src/main/java/org/elasticsearch/example/rescore/ExampleRescoreBuilder.java @@ -31,9 +31,9 @@ import org.elasticsearch.common.xcontent.ConstructingObjectParser; import org.elasticsearch.common.xcontent.XContentBuilder; import org.elasticsearch.common.xcontent.XContentParser; +import org.elasticsearch.index.fielddata.IndexFieldData; import org.elasticsearch.index.fielddata.LeafFieldData; import org.elasticsearch.index.fielddata.LeafNumericFieldData; -import org.elasticsearch.index.fielddata.IndexFieldData; import org.elasticsearch.index.fielddata.SortedNumericDoubleValues; import org.elasticsearch.index.query.QueryRewriteContext; import org.elasticsearch.index.query.QueryShardContext; @@ -109,7 +109,7 @@ public static ExampleRescoreBuilder fromXContent(XContentParser parser) { @Override public RescoreContext innerBuildContext(int windowSize, QueryShardContext context) throws IOException { IndexFieldData factorField = - this.factorField == null ? null : context.getForField(context.fieldMapper(this.factorField)); + this.factorField == null ? null : context.getForField(context.getFieldType(this.factorField)); return new ExampleRescoreContext(windowSize, factor, factorField); } diff --git a/server/src/main/java/org/elasticsearch/index/query/AbstractGeometryQueryBuilder.java b/server/src/main/java/org/elasticsearch/index/query/AbstractGeometryQueryBuilder.java index c2fb5bdbdeb9e..ec6b7378d2c38 100644 --- a/server/src/main/java/org/elasticsearch/index/query/AbstractGeometryQueryBuilder.java +++ b/server/src/main/java/org/elasticsearch/index/query/AbstractGeometryQueryBuilder.java @@ -347,7 +347,7 @@ protected Query doToQuery(QueryShardContext context) { if (shape == null || supplier != null) { throw new UnsupportedOperationException("query must be rewritten first"); } - final MappedFieldType fieldType = context.fieldMapper(fieldName); + final MappedFieldType fieldType = context.getFieldType(fieldName); if (fieldType == null) { if (ignoreUnmapped) { return new MatchNoDocsQuery(); diff --git a/server/src/main/java/org/elasticsearch/index/query/DistanceFeatureQueryBuilder.java b/server/src/main/java/org/elasticsearch/index/query/DistanceFeatureQueryBuilder.java index 9001709460511..27c2d90c1d74a 100644 --- a/server/src/main/java/org/elasticsearch/index/query/DistanceFeatureQueryBuilder.java +++ b/server/src/main/java/org/elasticsearch/index/query/DistanceFeatureQueryBuilder.java @@ -108,7 +108,7 @@ public String getWriteableName() { @Override protected Query doToQuery(QueryShardContext context) throws IOException { - MappedFieldType fieldType = context.fieldMapper(field); + MappedFieldType fieldType = context.getFieldType(field); if (fieldType == null) { return Queries.newMatchNoDocsQuery("Can't run [" + NAME + "] query on unmapped fields!"); } diff --git a/server/src/main/java/org/elasticsearch/index/query/ExistsQueryBuilder.java b/server/src/main/java/org/elasticsearch/index/query/ExistsQueryBuilder.java index 9b88b1f547b77..58073eb143929 100644 --- a/server/src/main/java/org/elasticsearch/index/query/ExistsQueryBuilder.java +++ b/server/src/main/java/org/elasticsearch/index/query/ExistsQueryBuilder.java @@ -165,7 +165,7 @@ public static Query newFilter(QueryShardContext context, String fieldPattern, bo private static Query newFieldExistsQuery(QueryShardContext context, String field) { if (context.isFieldMapped(field)) { - Query filter = context.fieldMapper(field).existsQuery(context); + Query filter = context.getFieldType(field).existsQuery(context); return new ConstantScoreQuery(filter); } else { // The field does not exist as a leaf but could be an object so @@ -181,7 +181,7 @@ private static Query newObjectFieldExistsQuery(QueryShardContext context, String BooleanQuery.Builder booleanQuery = new BooleanQuery.Builder(); Collection fields = context.simpleMatchToIndexNames(objField + ".*"); for (String field : fields) { - Query existsQuery = context.fieldMapper(field).existsQuery(context); + Query existsQuery = context.getFieldType(field).existsQuery(context); booleanQuery.add(existsQuery, Occur.SHOULD); } return new ConstantScoreQuery(booleanQuery.build()); diff --git a/server/src/main/java/org/elasticsearch/index/query/FieldMaskingSpanQueryBuilder.java b/server/src/main/java/org/elasticsearch/index/query/FieldMaskingSpanQueryBuilder.java index 9190d4de14aec..1c9c15363ff1d 100644 --- a/server/src/main/java/org/elasticsearch/index/query/FieldMaskingSpanQueryBuilder.java +++ b/server/src/main/java/org/elasticsearch/index/query/FieldMaskingSpanQueryBuilder.java @@ -152,7 +152,7 @@ public static FieldMaskingSpanQueryBuilder fromXContent(XContentParser parser) t @Override protected SpanQuery doToQuery(QueryShardContext context) throws IOException { String fieldInQuery = fieldName; - MappedFieldType fieldType = context.fieldMapper(fieldName); + MappedFieldType fieldType = context.getFieldType(fieldName); if (fieldType != null) { fieldInQuery = fieldType.name(); } diff --git a/server/src/main/java/org/elasticsearch/index/query/FuzzyQueryBuilder.java b/server/src/main/java/org/elasticsearch/index/query/FuzzyQueryBuilder.java index bd3048da29bb4..32ebf73e1ffff 100644 --- a/server/src/main/java/org/elasticsearch/index/query/FuzzyQueryBuilder.java +++ b/server/src/main/java/org/elasticsearch/index/query/FuzzyQueryBuilder.java @@ -324,7 +324,7 @@ public String getWriteableName() { protected QueryBuilder doRewrite(QueryRewriteContext queryRewriteContext) throws IOException { QueryShardContext context = queryRewriteContext.convertToShardContext(); if (context != null) { - MappedFieldType fieldType = context.fieldMapper(fieldName); + MappedFieldType fieldType = context.getFieldType(fieldName); if (fieldType == null) { return new MatchNoneQueryBuilder(); } @@ -334,7 +334,7 @@ protected QueryBuilder doRewrite(QueryRewriteContext queryRewriteContext) throws @Override protected Query doToQuery(QueryShardContext context) throws IOException { - MappedFieldType fieldType = context.fieldMapper(fieldName); + MappedFieldType fieldType = context.getFieldType(fieldName); if (fieldType == null) { throw new IllegalStateException("Rewrite first"); } diff --git a/server/src/main/java/org/elasticsearch/index/query/GeoBoundingBoxQueryBuilder.java b/server/src/main/java/org/elasticsearch/index/query/GeoBoundingBoxQueryBuilder.java index 59025dc03e161..df2f6b6e4267b 100644 --- a/server/src/main/java/org/elasticsearch/index/query/GeoBoundingBoxQueryBuilder.java +++ b/server/src/main/java/org/elasticsearch/index/query/GeoBoundingBoxQueryBuilder.java @@ -304,7 +304,7 @@ QueryValidationException checkLatLon() { @Override public Query doToQuery(QueryShardContext context) { - MappedFieldType fieldType = context.fieldMapper(fieldName); + MappedFieldType fieldType = context.getFieldType(fieldName); if (fieldType == null) { if (ignoreUnmapped) { return new MatchNoDocsQuery(); diff --git a/server/src/main/java/org/elasticsearch/index/query/GeoDistanceQueryBuilder.java b/server/src/main/java/org/elasticsearch/index/query/GeoDistanceQueryBuilder.java index 5db7516437314..f4c0da2c5256a 100644 --- a/server/src/main/java/org/elasticsearch/index/query/GeoDistanceQueryBuilder.java +++ b/server/src/main/java/org/elasticsearch/index/query/GeoDistanceQueryBuilder.java @@ -227,7 +227,7 @@ public boolean ignoreUnmapped() { @Override protected Query doToQuery(QueryShardContext shardContext) throws IOException { - MappedFieldType fieldType = shardContext.fieldMapper(fieldName); + MappedFieldType fieldType = shardContext.getFieldType(fieldName); if (fieldType == null) { if (ignoreUnmapped) { return new MatchNoDocsQuery(); diff --git a/server/src/main/java/org/elasticsearch/index/query/GeoPolygonQueryBuilder.java b/server/src/main/java/org/elasticsearch/index/query/GeoPolygonQueryBuilder.java index 47c18e6494d13..2f02ff0875532 100644 --- a/server/src/main/java/org/elasticsearch/index/query/GeoPolygonQueryBuilder.java +++ b/server/src/main/java/org/elasticsearch/index/query/GeoPolygonQueryBuilder.java @@ -153,7 +153,7 @@ public boolean ignoreUnmapped() { @Override protected Query doToQuery(QueryShardContext context) throws IOException { - MappedFieldType fieldType = context.fieldMapper(fieldName); + MappedFieldType fieldType = context.getFieldType(fieldName); if (fieldType == null) { if (ignoreUnmapped) { return new MatchNoDocsQuery(); diff --git a/server/src/main/java/org/elasticsearch/index/query/IdsQueryBuilder.java b/server/src/main/java/org/elasticsearch/index/query/IdsQueryBuilder.java index 721201cda094e..e8faf0bfa6012 100644 --- a/server/src/main/java/org/elasticsearch/index/query/IdsQueryBuilder.java +++ b/server/src/main/java/org/elasticsearch/index/query/IdsQueryBuilder.java @@ -140,7 +140,7 @@ protected QueryBuilder doRewrite(QueryRewriteContext queryRewriteContext) throws return new MatchNoneQueryBuilder(); } QueryShardContext context = queryRewriteContext.convertToShardContext(); - if (context != null && context.fieldMapper(IdFieldMapper.NAME) == null) { + if (context != null && context.getFieldType(IdFieldMapper.NAME) == null) { // no mappings yet return new MatchNoneQueryBuilder(); } @@ -149,7 +149,7 @@ protected QueryBuilder doRewrite(QueryRewriteContext queryRewriteContext) throws @Override protected Query doToQuery(QueryShardContext context) throws IOException { - MappedFieldType idField = context.fieldMapper(IdFieldMapper.NAME); + MappedFieldType idField = context.getFieldType(IdFieldMapper.NAME); if (idField == null || ids.isEmpty()) { throw new IllegalStateException("Rewrite first"); } diff --git a/server/src/main/java/org/elasticsearch/index/query/IntervalQueryBuilder.java b/server/src/main/java/org/elasticsearch/index/query/IntervalQueryBuilder.java index 7e94b5da69143..aa4dc299967a3 100644 --- a/server/src/main/java/org/elasticsearch/index/query/IntervalQueryBuilder.java +++ b/server/src/main/java/org/elasticsearch/index/query/IntervalQueryBuilder.java @@ -19,9 +19,9 @@ package org.elasticsearch.index.query; +import org.apache.lucene.queries.intervals.IntervalQuery; import org.apache.lucene.search.MatchNoDocsQuery; import org.apache.lucene.search.Query; -import org.apache.lucene.queries.intervals.IntervalQuery; import org.elasticsearch.common.ParsingException; import org.elasticsearch.common.io.stream.StreamInput; import org.elasticsearch.common.io.stream.StreamOutput; @@ -132,7 +132,7 @@ public static IntervalQueryBuilder fromXContent(XContentParser parser) throws IO @Override protected Query doToQuery(QueryShardContext context) throws IOException { - MappedFieldType fieldType = context.fieldMapper(field); + MappedFieldType fieldType = context.getFieldType(field); if (fieldType == null) { // Be lenient with unmapped fields so that cross-index search will work nicely return new MatchNoDocsQuery(); @@ -140,7 +140,7 @@ protected Query doToQuery(QueryShardContext context) throws IOException { Set maskedFields = new HashSet<>(); sourceProvider.extractFields(maskedFields); for (String maskedField : maskedFields) { - MappedFieldType ft = context.fieldMapper(maskedField); + MappedFieldType ft = context.getFieldType(maskedField); if (ft == null) { // Be lenient with unmapped fields so that cross-index search will work nicely return new MatchNoDocsQuery(); diff --git a/server/src/main/java/org/elasticsearch/index/query/IntervalsSourceProvider.java b/server/src/main/java/org/elasticsearch/index/query/IntervalsSourceProvider.java index 91c8e19eb393c..fa59e55f904b7 100644 --- a/server/src/main/java/org/elasticsearch/index/query/IntervalsSourceProvider.java +++ b/server/src/main/java/org/elasticsearch/index/query/IntervalsSourceProvider.java @@ -147,7 +147,7 @@ public IntervalsSource getSource(QueryShardContext context, MappedFieldType fiel } IntervalsSource source; if (useField != null) { - fieldType = context.fieldMapper(useField); + fieldType = context.getFieldType(useField); assert fieldType != null; source = Intervals.fixField(useField, fieldType.intervals(query, maxGaps, ordered, analyzer, false)); } @@ -530,7 +530,7 @@ public IntervalsSource getSource(QueryShardContext context, MappedFieldType fiel } IntervalsSource source; if (useField != null) { - fieldType = context.fieldMapper(useField); + fieldType = context.getFieldType(useField); assert fieldType != null; source = Intervals.fixField(useField, fieldType.intervals(prefix, 0, false, analyzer, true)); } @@ -645,7 +645,7 @@ public IntervalsSource getSource(QueryShardContext context, MappedFieldType fiel } IntervalsSource source; if (useField != null) { - fieldType = context.fieldMapper(useField); + fieldType = context.getFieldType(useField); assert fieldType != null; checkPositions(fieldType); if (this.analyzer == null) { @@ -782,7 +782,7 @@ public IntervalsSource getSource(QueryShardContext context, MappedFieldType fiel } IntervalsSource source; if (useField != null) { - fieldType = context.fieldMapper(useField); + fieldType = context.getFieldType(useField); assert fieldType != null; checkPositions(fieldType); if (this.analyzer == null) { diff --git a/server/src/main/java/org/elasticsearch/index/query/MoreLikeThisQueryBuilder.java b/server/src/main/java/org/elasticsearch/index/query/MoreLikeThisQueryBuilder.java index 4e94b9e6327a7..ae9564bf6b673 100644 --- a/server/src/main/java/org/elasticsearch/index/query/MoreLikeThisQueryBuilder.java +++ b/server/src/main/java/org/elasticsearch/index/query/MoreLikeThisQueryBuilder.java @@ -989,7 +989,7 @@ protected Query doToQuery(QueryShardContext context) throws IOException { } } else { for (String field : fields) { - MappedFieldType fieldType = context.fieldMapper(field); + MappedFieldType fieldType = context.getFieldType(field); if (fieldType != null && SUPPORTED_FIELD_TYPES.contains(fieldType.getClass()) == false) { if (failOnUnsupportedField) { throw new IllegalArgumentException("more_like_this only supports text/keyword fields: [" + field + "]"); @@ -1106,7 +1106,7 @@ private static void checkRoutingMissingException(MultiTermVectorsItemResponse re } private static void handleExclude(BooleanQuery.Builder boolQuery, Item[] likeItems, QueryShardContext context) { - MappedFieldType idField = context.fieldMapper(IdFieldMapper.NAME); + MappedFieldType idField = context.getFieldType(IdFieldMapper.NAME); if (idField == null) { // no mappings, nothing to exclude return; diff --git a/server/src/main/java/org/elasticsearch/index/query/PrefixQueryBuilder.java b/server/src/main/java/org/elasticsearch/index/query/PrefixQueryBuilder.java index cd45c0dc10aed..2e8f6606a3311 100644 --- a/server/src/main/java/org/elasticsearch/index/query/PrefixQueryBuilder.java +++ b/server/src/main/java/org/elasticsearch/index/query/PrefixQueryBuilder.java @@ -32,8 +32,8 @@ import org.elasticsearch.common.xcontent.LoggingDeprecationHandler; import org.elasticsearch.common.xcontent.XContentBuilder; import org.elasticsearch.common.xcontent.XContentParser; -import org.elasticsearch.index.mapper.MappedFieldType; import org.elasticsearch.index.mapper.ConstantFieldType; +import org.elasticsearch.index.mapper.MappedFieldType; import org.elasticsearch.index.query.support.QueryParsers; import java.io.IOException; @@ -51,11 +51,11 @@ public class PrefixQueryBuilder extends AbstractQueryBuilder private final String fieldName; private final String value; - + public static final boolean DEFAULT_CASE_INSENSITIVITY = false; private static final ParseField CASE_INSENSITIVE_FIELD = new ParseField("case_insensitive"); private boolean caseInsensitive = DEFAULT_CASE_INSENSITIVITY; - + private String rewrite; @@ -86,7 +86,7 @@ public PrefixQueryBuilder(StreamInput in) throws IOException { rewrite = in.readOptionalString(); if (in.getVersion().onOrAfter(Version.V_7_10_0)) { caseInsensitive = in.readBoolean(); - } + } } @Override @@ -96,7 +96,7 @@ protected void doWriteTo(StreamOutput out) throws IOException { out.writeOptionalString(rewrite); if (out.getVersion().onOrAfter(Version.V_7_10_0)) { out.writeBoolean(caseInsensitive); - } + } } @Override @@ -107,18 +107,18 @@ public String fieldName() { public String value() { return this.value; } - + public PrefixQueryBuilder caseInsensitive(boolean caseInsensitive) { if (caseInsensitive == false) { throw new IllegalArgumentException("The case insensitive setting cannot be set to false."); } this.caseInsensitive = caseInsensitive; return this; - } + } public boolean caseInsensitive() { return this.caseInsensitive; - } + } public PrefixQueryBuilder rewrite(String rewrite) { this.rewrite = rewrite; @@ -152,7 +152,7 @@ public static PrefixQueryBuilder fromXContent(XContentParser parser) throws IOEx String queryName = null; float boost = AbstractQueryBuilder.DEFAULT_BOOST; - boolean caseInsensitive = DEFAULT_CASE_INSENSITIVITY; + boolean caseInsensitive = DEFAULT_CASE_INSENSITIVITY; String currentFieldName = null; XContentParser.Token token; while ((token = parser.nextToken()) != XContentParser.Token.END_OBJECT) { @@ -197,7 +197,7 @@ public static PrefixQueryBuilder fromXContent(XContentParser parser) throws IOEx .boost(boost) .queryName(queryName); if (caseInsensitive) { - result.caseInsensitive(caseInsensitive); + result.caseInsensitive(caseInsensitive); } return result; } @@ -206,12 +206,12 @@ public static PrefixQueryBuilder fromXContent(XContentParser parser) throws IOEx public String getWriteableName() { return NAME; } - + @Override protected QueryBuilder doRewrite(QueryRewriteContext queryRewriteContext) throws IOException { QueryShardContext context = queryRewriteContext.convertToShardContext(); if (context != null) { - MappedFieldType fieldType = context.fieldMapper(this.fieldName); + MappedFieldType fieldType = context.getFieldType(this.fieldName); if (fieldType == null) { return new MatchNoneQueryBuilder(); } else if (fieldType instanceof ConstantFieldType) { @@ -230,13 +230,13 @@ protected QueryBuilder doRewrite(QueryRewriteContext queryRewriteContext) throws } return super.doRewrite(queryRewriteContext); - } + } @Override protected Query doToQuery(QueryShardContext context) throws IOException { MultiTermQuery.RewriteMethod method = QueryParsers.parseRewriteMethod(rewrite, null, LoggingDeprecationHandler.INSTANCE); - MappedFieldType fieldType = context.fieldMapper(fieldName); + MappedFieldType fieldType = context.getFieldType(fieldName); if (fieldType == null) { throw new IllegalStateException("Rewrite first"); } diff --git a/server/src/main/java/org/elasticsearch/index/query/QueryShardContext.java b/server/src/main/java/org/elasticsearch/index/query/QueryShardContext.java index a837f45ca7133..5d5290aff8a0a 100644 --- a/server/src/main/java/org/elasticsearch/index/query/QueryShardContext.java +++ b/server/src/main/java/org/elasticsearch/index/query/QueryShardContext.java @@ -232,7 +232,7 @@ public Set simpleMatchToIndexNames(String pattern) { * @see QueryShardContext#setAllowUnmappedFields(boolean) * @see QueryShardContext#setMapUnmappedFieldAsString(boolean) */ - public MappedFieldType fieldMapper(String name) { + public MappedFieldType getFieldType(String name) { return failIfFieldMappingNotFound(name, mapperService.fieldType(name)); } diff --git a/server/src/main/java/org/elasticsearch/index/query/RangeQueryBuilder.java b/server/src/main/java/org/elasticsearch/index/query/RangeQueryBuilder.java index bf79b33e486cc..2c3cc5797fca3 100644 --- a/server/src/main/java/org/elasticsearch/index/query/RangeQueryBuilder.java +++ b/server/src/main/java/org/elasticsearch/index/query/RangeQueryBuilder.java @@ -430,7 +430,7 @@ public String getWriteableName() { protected MappedFieldType.Relation getRelation(QueryRewriteContext queryRewriteContext) throws IOException { QueryShardContext shardContext = queryRewriteContext.convertToShardContext(); if (shardContext != null) { - final MappedFieldType fieldType = shardContext.fieldMapper(fieldName); + final MappedFieldType fieldType = shardContext.getFieldType(fieldName); if (fieldType == null) { return MappedFieldType.Relation.DISJOINT; } @@ -483,13 +483,13 @@ protected Query doToQuery(QueryShardContext context) throws IOException { return new MatchNoDocsQuery("No mappings yet"); } final FieldNamesFieldMapper.FieldNamesFieldType fieldNamesFieldType = - (FieldNamesFieldMapper.FieldNamesFieldType) context.fieldMapper(FieldNamesFieldMapper.NAME); + (FieldNamesFieldMapper.FieldNamesFieldType) context.getFieldType(FieldNamesFieldMapper.NAME); // Exists query would fail if the fieldNames field is disabled. if (fieldNamesFieldType.isEnabled()) { return ExistsQueryBuilder.newFilter(context, fieldName, false); } } - MappedFieldType mapper = context.fieldMapper(this.fieldName); + MappedFieldType mapper = context.getFieldType(this.fieldName); if (mapper == null) { throw new IllegalStateException("Rewrite first"); } diff --git a/server/src/main/java/org/elasticsearch/index/query/RegexpQueryBuilder.java b/server/src/main/java/org/elasticsearch/index/query/RegexpQueryBuilder.java index 3cf1935801e1b..f9403de0defb7 100644 --- a/server/src/main/java/org/elasticsearch/index/query/RegexpQueryBuilder.java +++ b/server/src/main/java/org/elasticsearch/index/query/RegexpQueryBuilder.java @@ -293,7 +293,7 @@ protected Query doToQuery(QueryShardContext context) throws QueryShardException, // For BWC we mask irrelevant bits (RegExp changed ALL from 0xffff to 0xff) int sanitisedSyntaxFlag = syntaxFlagsValue & RegExp.ALL; - MappedFieldType fieldType = context.fieldMapper(fieldName); + MappedFieldType fieldType = context.getFieldType(fieldName); if (fieldType != null) { query = fieldType.regexpQuery(value, sanitisedSyntaxFlag, matchFlagsValue, maxDeterminizedStates, method, context); } diff --git a/server/src/main/java/org/elasticsearch/index/query/SpanMultiTermQueryBuilder.java b/server/src/main/java/org/elasticsearch/index/query/SpanMultiTermQueryBuilder.java index d55f9bceaa9bd..5011fa644b219 100644 --- a/server/src/main/java/org/elasticsearch/index/query/SpanMultiTermQueryBuilder.java +++ b/server/src/main/java/org/elasticsearch/index/query/SpanMultiTermQueryBuilder.java @@ -133,7 +133,7 @@ protected Query doToQuery(QueryShardContext context) throws IOException { return new SpanMatchNoDocsQuery(this.multiTermQueryBuilder.fieldName(), "Inner query rewrote to match_none"); } else if (multiTermQueryBuilder instanceof PrefixQueryBuilder) { PrefixQueryBuilder prefixBuilder = (PrefixQueryBuilder) multiTermQueryBuilder; - MappedFieldType fieldType = context.fieldMapper(prefixBuilder.fieldName()); + MappedFieldType fieldType = context.getFieldType(prefixBuilder.fieldName()); if (fieldType == null) { throw new IllegalStateException("Rewrite first"); } diff --git a/server/src/main/java/org/elasticsearch/index/query/SpanNearQueryBuilder.java b/server/src/main/java/org/elasticsearch/index/query/SpanNearQueryBuilder.java index 087718ed1bccb..bdb6bc124a8c4 100644 --- a/server/src/main/java/org/elasticsearch/index/query/SpanNearQueryBuilder.java +++ b/server/src/main/java/org/elasticsearch/index/query/SpanNearQueryBuilder.java @@ -264,7 +264,7 @@ protected Query doToQuery(QueryShardContext context) throws IOException { } private String queryFieldName(QueryShardContext context, String fieldName) { - MappedFieldType fieldType = context.fieldMapper(fieldName); + MappedFieldType fieldType = context.getFieldType(fieldName); return fieldType != null ? fieldType.name() : fieldName; } diff --git a/server/src/main/java/org/elasticsearch/index/query/SpanTermQueryBuilder.java b/server/src/main/java/org/elasticsearch/index/query/SpanTermQueryBuilder.java index 0a02ff125d1cf..7c840ddcd0860 100644 --- a/server/src/main/java/org/elasticsearch/index/query/SpanTermQueryBuilder.java +++ b/server/src/main/java/org/elasticsearch/index/query/SpanTermQueryBuilder.java @@ -80,7 +80,7 @@ public SpanTermQueryBuilder(StreamInput in) throws IOException { @Override protected SpanQuery doToQuery(QueryShardContext context) throws IOException { - MappedFieldType mapper = context.fieldMapper(fieldName); + MappedFieldType mapper = context.getFieldType(fieldName); Term term; if (mapper == null) { term = new Term(fieldName, BytesRefs.toBytesRef(value)); diff --git a/server/src/main/java/org/elasticsearch/index/query/TermQueryBuilder.java b/server/src/main/java/org/elasticsearch/index/query/TermQueryBuilder.java index e1ff338f40108..3730efa7d01bf 100644 --- a/server/src/main/java/org/elasticsearch/index/query/TermQueryBuilder.java +++ b/server/src/main/java/org/elasticsearch/index/query/TermQueryBuilder.java @@ -29,9 +29,8 @@ import org.elasticsearch.common.io.stream.StreamOutput; import org.elasticsearch.common.xcontent.XContentBuilder; import org.elasticsearch.common.xcontent.XContentParser; -import org.elasticsearch.common.xcontent.ToXContent.Params; -import org.elasticsearch.index.mapper.MappedFieldType; import org.elasticsearch.index.mapper.ConstantFieldType; +import org.elasticsearch.index.mapper.MappedFieldType; import java.io.IOException; import java.util.Objects; @@ -43,10 +42,10 @@ public class TermQueryBuilder extends BaseTermQueryBuilder { public static final String NAME = "term"; public static final boolean DEFAULT_CASE_INSENSITIVITY = false; private static final ParseField CASE_INSENSITIVE_FIELD = new ParseField("case_insensitive"); - - + + private boolean caseInsensitive = DEFAULT_CASE_INSENSITIVITY; - + private static final ParseField TERM_FIELD = new ParseField("term"); private static final ParseField VALUE_FIELD = new ParseField("value"); @@ -85,19 +84,19 @@ public TermQueryBuilder(String fieldName, boolean value) { public TermQueryBuilder(String fieldName, Object value) { super(fieldName, value); } - + public TermQueryBuilder caseInsensitive(boolean caseInsensitive) { if (caseInsensitive == false) { throw new IllegalArgumentException("The case insensitive setting cannot be set to false."); } this.caseInsensitive = caseInsensitive; return this; - } + } public boolean caseInsensitive() { return this.caseInsensitive; } - + /** * Read from a stream. @@ -106,22 +105,22 @@ public TermQueryBuilder(StreamInput in) throws IOException { super(in); if (in.getVersion().onOrAfter(Version.V_7_10_0)) { caseInsensitive = in.readBoolean(); - } + } } @Override protected void doWriteTo(StreamOutput out) throws IOException { super.doWriteTo(out); if (out.getVersion().onOrAfter(Version.V_7_10_0)) { out.writeBoolean(caseInsensitive); - } - } + } + } public static TermQueryBuilder fromXContent(XContentParser parser) throws IOException { String queryName = null; String fieldName = null; Object value = null; float boost = AbstractQueryBuilder.DEFAULT_BOOST; - boolean caseInsensitive = DEFAULT_CASE_INSENSITIVITY; + boolean caseInsensitive = DEFAULT_CASE_INSENSITIVITY; String currentFieldName = null; XContentParser.Token token; while ((token = parser.nextToken()) != XContentParser.Token.END_OBJECT) { @@ -173,19 +172,19 @@ public static TermQueryBuilder fromXContent(XContentParser parser) throws IOExce } return termQuery; } - + @Override protected void addExtraXContent(XContentBuilder builder, Params params) throws IOException { if (caseInsensitive != DEFAULT_CASE_INSENSITIVITY) { builder.field(CASE_INSENSITIVE_FIELD.getPreferredName(), caseInsensitive); } - } - + } + @Override protected QueryBuilder doRewrite(QueryRewriteContext queryRewriteContext) throws IOException { QueryShardContext context = queryRewriteContext.convertToShardContext(); if (context != null) { - MappedFieldType fieldType = context.fieldMapper(this.fieldName); + MappedFieldType fieldType = context.getFieldType(this.fieldName); if (fieldType == null) { return new MatchNoneQueryBuilder(); } else if (fieldType instanceof ConstantFieldType) { @@ -198,7 +197,7 @@ protected QueryBuilder doRewrite(QueryRewriteContext queryRewriteContext) throws } else { query = fieldType.termQuery(value, context); } - + if (query instanceof MatchAllDocsQuery) { return new MatchAllQueryBuilder(); } else if (query instanceof MatchNoDocsQuery) { @@ -213,7 +212,7 @@ protected QueryBuilder doRewrite(QueryRewriteContext queryRewriteContext) throws @Override protected Query doToQuery(QueryShardContext context) throws IOException { - MappedFieldType mapper = context.fieldMapper(this.fieldName); + MappedFieldType mapper = context.getFieldType(this.fieldName); if (mapper == null) { throw new IllegalStateException("Rewrite first"); } @@ -227,7 +226,7 @@ protected Query doToQuery(QueryShardContext context) throws IOException { public String getWriteableName() { return NAME; } - + @Override protected final int doHashCode() { @@ -238,6 +237,6 @@ protected final int doHashCode() { protected final boolean doEquals(TermQueryBuilder other) { return super.doEquals(other) && Objects.equals(caseInsensitive, other.caseInsensitive); - } - + } + } diff --git a/server/src/main/java/org/elasticsearch/index/query/TermsQueryBuilder.java b/server/src/main/java/org/elasticsearch/index/query/TermsQueryBuilder.java index a7a5dfc42c8cb..cad52826e09ef 100644 --- a/server/src/main/java/org/elasticsearch/index/query/TermsQueryBuilder.java +++ b/server/src/main/java/org/elasticsearch/index/query/TermsQueryBuilder.java @@ -38,8 +38,8 @@ import org.elasticsearch.common.xcontent.XContentParser; import org.elasticsearch.common.xcontent.support.XContentMapValues; import org.elasticsearch.index.IndexSettings; -import org.elasticsearch.index.mapper.MappedFieldType; import org.elasticsearch.index.mapper.ConstantFieldType; +import org.elasticsearch.index.mapper.MappedFieldType; import org.elasticsearch.indices.TermsLookup; import java.io.IOException; @@ -427,7 +427,7 @@ protected Query doToQuery(QueryShardContext context) throws IOException { "the allowed maximum of [" + maxTermsCount + "]. " + "This maximum can be set by changing the [" + IndexSettings.MAX_TERMS_COUNT_SETTING.getKey() + "] index level setting."); } - MappedFieldType fieldType = context.fieldMapper(fieldName); + MappedFieldType fieldType = context.getFieldType(fieldName); if (fieldType == null) { throw new IllegalStateException("Rewrite first"); } @@ -480,7 +480,7 @@ protected QueryBuilder doRewrite(QueryRewriteContext queryRewriteContext) { QueryShardContext context = queryRewriteContext.convertToShardContext(); if (context != null) { - MappedFieldType fieldType = context.fieldMapper(this.fieldName); + MappedFieldType fieldType = context.getFieldType(this.fieldName); if (fieldType == null) { return new MatchNoneQueryBuilder(); } else if (fieldType instanceof ConstantFieldType) { diff --git a/server/src/main/java/org/elasticsearch/index/query/TermsSetQueryBuilder.java b/server/src/main/java/org/elasticsearch/index/query/TermsSetQueryBuilder.java index ac2526d34325a..753ace7791668 100644 --- a/server/src/main/java/org/elasticsearch/index/query/TermsSetQueryBuilder.java +++ b/server/src/main/java/org/elasticsearch/index/query/TermsSetQueryBuilder.java @@ -239,7 +239,7 @@ protected Query doToQuery(QueryShardContext context) { * Visible only for testing purposes. */ List createTermQueries(QueryShardContext context) { - final MappedFieldType fieldType = context.fieldMapper(fieldName); + final MappedFieldType fieldType = context.getFieldType(fieldName); final List queries = new ArrayList<>(values.size()); for (Object value : values) { if (fieldType != null) { @@ -254,7 +254,7 @@ List createTermQueries(QueryShardContext context) { private LongValuesSource createValuesSource(QueryShardContext context) { LongValuesSource longValuesSource; if (minimumShouldMatchField != null) { - MappedFieldType msmFieldType = context.fieldMapper(minimumShouldMatchField); + MappedFieldType msmFieldType = context.getFieldType(minimumShouldMatchField); if (msmFieldType == null) { throw new QueryShardException(context, "failed to find minimum_should_match field [" + minimumShouldMatchField + "]"); } diff --git a/server/src/main/java/org/elasticsearch/index/query/VectorGeoPointShapeQueryProcessor.java b/server/src/main/java/org/elasticsearch/index/query/VectorGeoPointShapeQueryProcessor.java index 3bb4d09b959cb..28444a107d392 100644 --- a/server/src/main/java/org/elasticsearch/index/query/VectorGeoPointShapeQueryProcessor.java +++ b/server/src/main/java/org/elasticsearch/index/query/VectorGeoPointShapeQueryProcessor.java @@ -60,7 +60,7 @@ public Query geoShapeQuery(Geometry shape, String fieldName, ShapeRelation relat } private void validateIsGeoPointFieldType(String fieldName, QueryShardContext context) { - MappedFieldType fieldType = context.fieldMapper(fieldName); + MappedFieldType fieldType = context.getFieldType(fieldName); if (fieldType instanceof GeoPointFieldMapper.GeoPointFieldType == false) { throw new QueryShardException(context, "Expected " + GeoPointFieldMapper.CONTENT_TYPE + " field type for Field [" + fieldName + "] but found " + fieldType.typeName()); @@ -81,7 +81,7 @@ private class ShapeVisitor implements GeometryVisitor { ShapeVisitor(QueryShardContext context, String fieldName, ShapeRelation relation) { this.context = context; - this.fieldType = context.fieldMapper(fieldName); + this.fieldType = context.getFieldType(fieldName); this.fieldName = fieldName; this.relation = relation; } diff --git a/server/src/main/java/org/elasticsearch/index/query/WildcardQueryBuilder.java b/server/src/main/java/org/elasticsearch/index/query/WildcardQueryBuilder.java index 4b309bd880aaf..099a8c3a6e596 100644 --- a/server/src/main/java/org/elasticsearch/index/query/WildcardQueryBuilder.java +++ b/server/src/main/java/org/elasticsearch/index/query/WildcardQueryBuilder.java @@ -32,8 +32,8 @@ import org.elasticsearch.common.xcontent.LoggingDeprecationHandler; import org.elasticsearch.common.xcontent.XContentBuilder; import org.elasticsearch.common.xcontent.XContentParser; -import org.elasticsearch.index.mapper.MappedFieldType; import org.elasticsearch.index.mapper.ConstantFieldType; +import org.elasticsearch.index.mapper.MappedFieldType; import org.elasticsearch.index.query.support.QueryParsers; import java.io.IOException; @@ -96,7 +96,7 @@ public WildcardQueryBuilder(StreamInput in) throws IOException { rewrite = in.readOptionalString(); if (in.getVersion().onOrAfter(Version.V_7_10_0)) { caseInsensitive = in.readBoolean(); - } + } } @Override @@ -106,7 +106,7 @@ protected void doWriteTo(StreamOutput out) throws IOException { out.writeOptionalString(rewrite); if (out.getVersion().onOrAfter(Version.V_7_10_0)) { out.writeBoolean(caseInsensitive); - } + } } @Override @@ -126,18 +126,18 @@ public WildcardQueryBuilder rewrite(String rewrite) { public String rewrite() { return this.rewrite; } - + public WildcardQueryBuilder caseInsensitive(boolean caseInsensitive) { if (caseInsensitive == false) { throw new IllegalArgumentException("The case insensitive setting cannot be set to false."); } this.caseInsensitive = caseInsensitive; return this; - } + } public boolean caseInsensitive() { return this.caseInsensitive; - } + } @Override public String getWriteableName() { @@ -165,7 +165,7 @@ public static WildcardQueryBuilder fromXContent(XContentParser parser) throws IO String rewrite = null; String value = null; float boost = AbstractQueryBuilder.DEFAULT_BOOST; - boolean caseInsensitive = DEFAULT_CASE_INSENSITIVITY; + boolean caseInsensitive = DEFAULT_CASE_INSENSITIVITY; String queryName = null; String currentFieldName = null; XContentParser.Token token; @@ -213,16 +213,16 @@ public static WildcardQueryBuilder fromXContent(XContentParser parser) throws IO .boost(boost) .queryName(queryName); if (caseInsensitive) { - result.caseInsensitive(caseInsensitive); + result.caseInsensitive(caseInsensitive); } return result; - } - + } + @Override protected QueryBuilder doRewrite(QueryRewriteContext queryRewriteContext) throws IOException { QueryShardContext context = queryRewriteContext.convertToShardContext(); if (context != null) { - MappedFieldType fieldType = context.fieldMapper(this.fieldName); + MappedFieldType fieldType = context.getFieldType(this.fieldName); if (fieldType == null) { return new MatchNoneQueryBuilder(); } else if (fieldType instanceof ConstantFieldType) { @@ -241,11 +241,11 @@ protected QueryBuilder doRewrite(QueryRewriteContext queryRewriteContext) throws } return super.doRewrite(queryRewriteContext); - } + } @Override protected Query doToQuery(QueryShardContext context) throws IOException { - MappedFieldType fieldType = context.fieldMapper(fieldName); + MappedFieldType fieldType = context.getFieldType(fieldName); if (fieldType == null) { throw new IllegalStateException("Rewrite first"); diff --git a/server/src/main/java/org/elasticsearch/index/query/functionscore/DecayFunctionBuilder.java b/server/src/main/java/org/elasticsearch/index/query/functionscore/DecayFunctionBuilder.java index 47e08b1286ea3..d69ca009b0c6a 100644 --- a/server/src/main/java/org/elasticsearch/index/query/functionscore/DecayFunctionBuilder.java +++ b/server/src/main/java/org/elasticsearch/index/query/functionscore/DecayFunctionBuilder.java @@ -203,7 +203,7 @@ protected ScoreFunction doToFunction(QueryShardContext context) throws IOExcepti private AbstractDistanceScoreFunction parseVariable(String fieldName, XContentParser parser, QueryShardContext context, MultiValueMode mode) throws IOException { //the field must exist, else we cannot read the value for the doc later - MappedFieldType fieldType = context.fieldMapper(fieldName); + MappedFieldType fieldType = context.getFieldType(fieldName); if (fieldType == null) { throw new ParsingException(parser.getTokenLocation(), "unknown field [{}]", fieldName); } diff --git a/server/src/main/java/org/elasticsearch/index/query/functionscore/FieldValueFactorFunctionBuilder.java b/server/src/main/java/org/elasticsearch/index/query/functionscore/FieldValueFactorFunctionBuilder.java index c48c02015c7d9..15c80b933e24f 100644 --- a/server/src/main/java/org/elasticsearch/index/query/functionscore/FieldValueFactorFunctionBuilder.java +++ b/server/src/main/java/org/elasticsearch/index/query/functionscore/FieldValueFactorFunctionBuilder.java @@ -145,7 +145,7 @@ protected int doHashCode() { protected ScoreFunction doToFunction(QueryShardContext context) { IndexNumericFieldData fieldData = null; if (context.isFieldMapped(field)) { - fieldData = context.getForField(context.fieldMapper(field)); + fieldData = context.getForField(context.getFieldType(field)); } else { if (missing == null) { throw new ElasticsearchException("Unable to find a field mapper for field [" + field + "]. No 'missing' value defined."); diff --git a/server/src/main/java/org/elasticsearch/index/query/functionscore/RandomScoreFunctionBuilder.java b/server/src/main/java/org/elasticsearch/index/query/functionscore/RandomScoreFunctionBuilder.java index 561d96f9e5add..b29d0b6baf911 100644 --- a/server/src/main/java/org/elasticsearch/index/query/functionscore/RandomScoreFunctionBuilder.java +++ b/server/src/main/java/org/elasticsearch/index/query/functionscore/RandomScoreFunctionBuilder.java @@ -177,7 +177,7 @@ protected ScoreFunction doToFunction(QueryShardContext context) { } else { seed = this.seed; } - return new RandomScoreFunction(seed, salt, context.getForField(context.fieldMapper(fieldName))); + return new RandomScoreFunction(seed, salt, context.getForField(context.getFieldType(fieldName))); } } diff --git a/server/src/main/java/org/elasticsearch/index/search/MatchQuery.java b/server/src/main/java/org/elasticsearch/index/search/MatchQuery.java index 6df1f16a342cf..ba88a6bcfbfd4 100644 --- a/server/src/main/java/org/elasticsearch/index/search/MatchQuery.java +++ b/server/src/main/java/org/elasticsearch/index/search/MatchQuery.java @@ -233,7 +233,7 @@ public void setAutoGenerateSynonymsPhraseQuery(boolean enabled) { } public Query parse(Type type, String fieldName, Object value) throws IOException { - final MappedFieldType fieldType = context.fieldMapper(fieldName); + final MappedFieldType fieldType = context.getFieldType(fieldName); if (fieldType == null) { return newUnmappedFieldQuery(fieldName); } diff --git a/server/src/main/java/org/elasticsearch/index/search/MultiMatchQuery.java b/server/src/main/java/org/elasticsearch/index/search/MultiMatchQuery.java index fc7e215a55250..963c24dffa10b 100644 --- a/server/src/main/java/org/elasticsearch/index/search/MultiMatchQuery.java +++ b/server/src/main/java/org/elasticsearch/index/search/MultiMatchQuery.java @@ -60,7 +60,7 @@ public void setTieBreaker(float tieBreaker) { public Query parse(MultiMatchQueryBuilder.Type type, Map fieldNames, Object value, String minimumShouldMatch) throws IOException { boolean hasMappedField = fieldNames.keySet().stream() - .anyMatch(k -> context.fieldMapper(k) != null); + .anyMatch(k -> context.getFieldType(k) != null); if (hasMappedField == false) { // all query fields are unmapped return Queries.newUnmappedFieldsQuery(fieldNames.keySet()); @@ -100,7 +100,7 @@ private List buildFieldQueries(MultiMatchQueryBuilder.Type type, Map queries = new ArrayList<>(); for (String fieldName : fieldNames.keySet()) { - if (context.fieldMapper(fieldName) == null) { + if (context.getFieldType(fieldName) == null) { // ignore unmapped fields continue; } @@ -125,7 +125,7 @@ private List buildCrossFieldQuery(MultiMatchQueryBuilder.Type type, Map queries = new ArrayList<>(); for (Map.Entry entry : fieldNames.entrySet()) { String name = entry.getKey(); - MappedFieldType fieldType = context.fieldMapper(name); + MappedFieldType fieldType = context.getFieldType(name); if (fieldType != null) { Analyzer actualAnalyzer = getAnalyzer(fieldType, type == MultiMatchQueryBuilder.Type.PHRASE); if (!groups.containsKey(actualAnalyzer)) { diff --git a/server/src/main/java/org/elasticsearch/index/search/QueryParserHelper.java b/server/src/main/java/org/elasticsearch/index/search/QueryParserHelper.java index 00e681a575a82..dbf826b70b3f0 100644 --- a/server/src/main/java/org/elasticsearch/index/search/QueryParserHelper.java +++ b/server/src/main/java/org/elasticsearch/index/search/QueryParserHelper.java @@ -121,7 +121,7 @@ static Map resolveMappingField(QueryShardContext context, String Map fields = new HashMap<>(); for (String fieldName : allFields) { - if (fieldSuffix != null && context.fieldMapper(fieldName + fieldSuffix) != null) { + if (fieldSuffix != null && context.getFieldType(fieldName + fieldSuffix) != null) { fieldName = fieldName + fieldSuffix; } @@ -129,7 +129,7 @@ static Map resolveMappingField(QueryShardContext context, String continue; } - MappedFieldType fieldType = context.fieldMapper(fieldName); + MappedFieldType fieldType = context.getFieldType(fieldName); if (acceptMetadataField == false && fieldType.name().startsWith("_")) { // Ignore metadata fields continue; diff --git a/server/src/main/java/org/elasticsearch/index/search/QueryStringQueryParser.java b/server/src/main/java/org/elasticsearch/index/search/QueryStringQueryParser.java index cef3f95228dfa..46e3f652f3b22 100644 --- a/server/src/main/java/org/elasticsearch/index/search/QueryStringQueryParser.java +++ b/server/src/main/java/org/elasticsearch/index/search/QueryStringQueryParser.java @@ -327,7 +327,7 @@ public Query getFieldQuery(String field, String queryText, boolean quoted) throw return getRangeQuery(field, null, queryText.substring(1), true, false); } // if we are querying a single date field, we also create a range query that leverages the time zone setting - if (context.fieldMapper(field) instanceof DateFieldType && this.timeZone != null) { + if (context.getFieldType(field) instanceof DateFieldType && this.timeZone != null) { return getRangeQuery(field, queryText, queryText, true, true); } } @@ -416,7 +416,7 @@ protected Query getRangeQuery(String field, String part1, String part2, private Query getRangeQuerySingle(String field, String part1, String part2, boolean startInclusive, boolean endInclusive, QueryShardContext context) { - MappedFieldType currentFieldType = context.fieldMapper(field); + MappedFieldType currentFieldType = context.getFieldType(field); if (currentFieldType == null) { return newUnmappedFieldQuery(field); } @@ -466,7 +466,7 @@ protected Query getFuzzyQuery(String field, String termStr, float minSimilarity) } private Query getFuzzyQuerySingle(String field, String termStr, int minSimilarity) throws ParseException { - MappedFieldType currentFieldType = context.fieldMapper(field); + MappedFieldType currentFieldType = context.getFieldType(field); if (currentFieldType == null) { return newUnmappedFieldQuery(field); } @@ -518,7 +518,7 @@ protected Query getPrefixQuery(String field, String termStr) throws ParseExcepti private Query getPrefixQuerySingle(String field, String termStr) throws ParseException { Analyzer oldAnalyzer = getAnalyzer(); try { - MappedFieldType currentFieldType = context.fieldMapper(field); + MappedFieldType currentFieldType = context.getFieldType(field); if (currentFieldType == null || currentFieldType.getTextSearchInfo() == TextSearchInfo.NONE) { return newUnmappedFieldQuery(field); } @@ -627,7 +627,7 @@ private Query existsQuery(String fieldName) { return new MatchNoDocsQuery("No mappings yet"); } final FieldNamesFieldMapper.FieldNamesFieldType fieldNamesFieldType = - (FieldNamesFieldMapper.FieldNamesFieldType) context.fieldMapper(FieldNamesFieldMapper.NAME); + (FieldNamesFieldMapper.FieldNamesFieldType) context.getFieldType(FieldNamesFieldMapper.NAME); if (fieldNamesFieldType.isEnabled() == false) { // The field_names_field is disabled so we switch to a wildcard query that matches all terms return new WildcardQuery(new Term(fieldName, "*")); @@ -671,7 +671,7 @@ private Query getWildcardQuerySingle(String field, String termStr) throws ParseE } Analyzer oldAnalyzer = getAnalyzer(); try { - MappedFieldType currentFieldType = queryBuilder.context.fieldMapper(field); + MappedFieldType currentFieldType = queryBuilder.context.getFieldType(field); if (currentFieldType == null) { return newUnmappedFieldQuery(field); } @@ -724,7 +724,7 @@ protected Query getRegexpQuery(String field, String termStr) throws ParseExcepti private Query getRegexpQuerySingle(String field, String termStr) throws ParseException { Analyzer oldAnalyzer = getAnalyzer(); try { - MappedFieldType currentFieldType = queryBuilder.context.fieldMapper(field); + MappedFieldType currentFieldType = queryBuilder.context.getFieldType(field); if (currentFieldType == null) { return newUnmappedFieldQuery(field); } diff --git a/server/src/main/java/org/elasticsearch/index/search/SimpleQueryStringQueryParser.java b/server/src/main/java/org/elasticsearch/index/search/SimpleQueryStringQueryParser.java index 2376fe977c901..ae9208d78dce5 100644 --- a/server/src/main/java/org/elasticsearch/index/search/SimpleQueryStringQueryParser.java +++ b/server/src/main/java/org/elasticsearch/index/search/SimpleQueryStringQueryParser.java @@ -106,7 +106,7 @@ public void setDefaultOperator(BooleanClause.Occur operator) { @Override protected Query newTermQuery(Term term, float boost) { - MappedFieldType ft = context.fieldMapper(term.field()); + MappedFieldType ft = context.getFieldType(term.field()); if (ft == null) { return newUnmappedFieldQuery(term.field()); } @@ -127,7 +127,7 @@ public Query newFuzzyQuery(String text, int fuzziness) { List disjuncts = new ArrayList<>(); for (Map.Entry entry : weights.entrySet()) { final String fieldName = entry.getKey(); - final MappedFieldType ft = context.fieldMapper(fieldName); + final MappedFieldType ft = context.getFieldType(fieldName); if (ft == null) { disjuncts.add(newUnmappedFieldQuery(fieldName)); continue; @@ -170,7 +170,7 @@ public Query newPrefixQuery(String text) { List disjuncts = new ArrayList<>(); for (Map.Entry entry : weights.entrySet()) { final String fieldName = entry.getKey(); - final MappedFieldType ft = context.fieldMapper(fieldName); + final MappedFieldType ft = context.getFieldType(fieldName); if (ft == null) { disjuncts.add(newUnmappedFieldQuery(fieldName)); continue; diff --git a/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/SignificantTextAggregatorFactory.java b/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/SignificantTextAggregatorFactory.java index ebc1ae54f049d..4856eb4ebe864 100644 --- a/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/SignificantTextAggregatorFactory.java +++ b/server/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/SignificantTextAggregatorFactory.java @@ -83,7 +83,7 @@ public SignificantTextAggregatorFactory(String name, // Note that if the field is unmapped (its field type is null), we don't fail, // and just use the given field name as a placeholder. - this.fieldType = queryShardContext.fieldMapper(fieldName); + this.fieldType = queryShardContext.getFieldType(fieldName); if (fieldType != null && fieldType.indexAnalyzer() == null) { throw new IllegalArgumentException("Field [" + fieldType.name() + "] has no analyzer, but SignificantText " + "requires an analyzed field"); diff --git a/server/src/main/java/org/elasticsearch/search/aggregations/support/ValuesSourceConfig.java b/server/src/main/java/org/elasticsearch/search/aggregations/support/ValuesSourceConfig.java index 37a1d53213311..99edc991ea0f0 100644 --- a/server/src/main/java/org/elasticsearch/search/aggregations/support/ValuesSourceConfig.java +++ b/server/src/main/java/org/elasticsearch/search/aggregations/support/ValuesSourceConfig.java @@ -132,7 +132,7 @@ private static ValuesSourceConfig internalResolve(QueryShardContext context, } } else { // Field case - fieldType = context.fieldMapper(field); + fieldType = context.getFieldType(field); if (fieldType == null) { /* Unmapped Field Case * We got here because the user specified a field, but it doesn't exist on this index, possibly because of a wildcard index diff --git a/server/src/main/java/org/elasticsearch/search/collapse/CollapseBuilder.java b/server/src/main/java/org/elasticsearch/search/collapse/CollapseBuilder.java index a471230cd999a..ad9561ddc1ef3 100644 --- a/server/src/main/java/org/elasticsearch/search/collapse/CollapseBuilder.java +++ b/server/src/main/java/org/elasticsearch/search/collapse/CollapseBuilder.java @@ -199,7 +199,7 @@ public int hashCode() { } public CollapseContext build(QueryShardContext queryShardContext) { - MappedFieldType fieldType = queryShardContext.fieldMapper(field); + MappedFieldType fieldType = queryShardContext.getFieldType(field); if (fieldType == null) { throw new IllegalArgumentException("no mapping found for `" + field + "` in order to collapse on"); } diff --git a/server/src/main/java/org/elasticsearch/search/slice/SliceBuilder.java b/server/src/main/java/org/elasticsearch/search/slice/SliceBuilder.java index fe940ff94fdff..11ff885a742b0 100644 --- a/server/src/main/java/org/elasticsearch/search/slice/SliceBuilder.java +++ b/server/src/main/java/org/elasticsearch/search/slice/SliceBuilder.java @@ -206,7 +206,7 @@ public int hashCode() { */ @SuppressWarnings("rawtypes") public Query toFilter(ClusterService clusterService, ShardSearchRequest request, QueryShardContext context) { - final MappedFieldType type = context.fieldMapper(field); + final MappedFieldType type = context.getFieldType(field); if (type == null) { throw new IllegalArgumentException("field " + field + " not found"); } diff --git a/server/src/main/java/org/elasticsearch/search/sort/FieldSortBuilder.java b/server/src/main/java/org/elasticsearch/search/sort/FieldSortBuilder.java index 353e0ddb36d2f..756d7fd320198 100644 --- a/server/src/main/java/org/elasticsearch/search/sort/FieldSortBuilder.java +++ b/server/src/main/java/org/elasticsearch/search/sort/FieldSortBuilder.java @@ -325,7 +325,7 @@ public SortFieldAndFormat build(QueryShardContext context) throws IOException { return order == SortOrder.DESC ? SORT_DOC_REVERSE : SORT_DOC; } - MappedFieldType fieldType = context.fieldMapper(fieldName); + MappedFieldType fieldType = context.getFieldType(fieldName); Nested nested = nested(context, fieldType); if (fieldType == null) { fieldType = resolveUnmappedType(context); @@ -376,7 +376,7 @@ public boolean isBottomSortShardDisjoint(QueryShardContext context, SearchSortVa if (canRewriteToMatchNone() == false) { return false; } - MappedFieldType fieldType = context.fieldMapper(fieldName); + MappedFieldType fieldType = context.getFieldType(fieldName); if (fieldType == null) { // unmapped return false; @@ -415,7 +415,7 @@ public BucketedSort buildBucketedSort(QueryShardContext context, int bucketSize, throw new IllegalArgumentException("sorting by _doc is not supported"); } - MappedFieldType fieldType = context.fieldMapper(fieldName); + MappedFieldType fieldType = context.getFieldType(fieldName); Nested nested = nested(context, fieldType); if (fieldType == null) { fieldType = resolveUnmappedType(context); @@ -503,7 +503,7 @@ public static MinAndMax getMinMaxOrNull(QueryShardContext context, FieldSortB return null; } IndexReader reader = context.getIndexReader(); - MappedFieldType fieldType = context.fieldMapper(sortField.getField()); + MappedFieldType fieldType = context.getFieldType(sortField.getField()); if (reader == null || (fieldType == null || fieldType.isSearchable() == false)) { return null; } diff --git a/server/src/main/java/org/elasticsearch/search/sort/GeoDistanceSortBuilder.java b/server/src/main/java/org/elasticsearch/search/sort/GeoDistanceSortBuilder.java index 3834d899c3a9b..634c752599244 100644 --- a/server/src/main/java/org/elasticsearch/search/sort/GeoDistanceSortBuilder.java +++ b/server/src/main/java/org/elasticsearch/search/sort/GeoDistanceSortBuilder.java @@ -566,7 +566,7 @@ private MultiValueMode localSortMode() { } private IndexGeoPointFieldData fieldData(QueryShardContext context) { - MappedFieldType fieldType = context.fieldMapper(fieldName); + MappedFieldType fieldType = context.getFieldType(fieldName); if (fieldType == null) { if (ignoreUnmapped) { fieldType = context.getMapperService().unmappedFieldType("geo_point"); diff --git a/server/src/main/java/org/elasticsearch/search/suggest/SuggestionBuilder.java b/server/src/main/java/org/elasticsearch/search/suggest/SuggestionBuilder.java index 2fc1f55dec8fb..0a17b90f6ff7d 100644 --- a/server/src/main/java/org/elasticsearch/search/suggest/SuggestionBuilder.java +++ b/server/src/main/java/org/elasticsearch/search/suggest/SuggestionBuilder.java @@ -304,7 +304,7 @@ protected void populateCommonFields(QueryShardContext context, SuggestionSearchC throw new IllegalArgumentException("no mapping found for field [" + field + "]"); } - MappedFieldType fieldType = context.fieldMapper(field); + MappedFieldType fieldType = context.getFieldType(field); if (analyzer == null) { suggestionContext.setAnalyzer(context.getSearchAnalyzer(fieldType)); } else { diff --git a/server/src/main/java/org/elasticsearch/search/suggest/completion/CompletionSuggestionBuilder.java b/server/src/main/java/org/elasticsearch/search/suggest/completion/CompletionSuggestionBuilder.java index bf2cedadb0677..9401eed6f24cd 100644 --- a/server/src/main/java/org/elasticsearch/search/suggest/completion/CompletionSuggestionBuilder.java +++ b/server/src/main/java/org/elasticsearch/search/suggest/completion/CompletionSuggestionBuilder.java @@ -290,7 +290,7 @@ public SuggestionContext build(QueryShardContext context) throws IOException { if (shardSize != null) { suggestionContext.setShardSize(shardSize); } - MappedFieldType mappedFieldType = context.fieldMapper(suggestionContext.getField()); + MappedFieldType mappedFieldType = context.getFieldType(suggestionContext.getField()); if (mappedFieldType instanceof CompletionFieldMapper.CompletionFieldType == false) { throw new IllegalArgumentException("Field [" + suggestionContext.getField() + "] is not a completion suggest field"); } diff --git a/server/src/test/java/org/elasticsearch/index/mapper/RangeFieldQueryStringQueryBuilderTests.java b/server/src/test/java/org/elasticsearch/index/mapper/RangeFieldQueryStringQueryBuilderTests.java index 4733376c30da8..72786d8d679cc 100644 --- a/server/src/test/java/org/elasticsearch/index/mapper/RangeFieldQueryStringQueryBuilderTests.java +++ b/server/src/test/java/org/elasticsearch/index/mapper/RangeFieldQueryStringQueryBuilderTests.java @@ -101,7 +101,7 @@ public void testDoubleRangeQuery() throws Exception { public void testDateRangeQuery() throws Exception { QueryShardContext context = createShardContext(); - RangeFieldMapper.RangeFieldType type = (RangeFieldMapper.RangeFieldType) context.fieldMapper(DATE_RANGE_FIELD_NAME); + RangeFieldMapper.RangeFieldType type = (RangeFieldMapper.RangeFieldType) context.getFieldType(DATE_RANGE_FIELD_NAME); DateMathParser parser = type.dateMathParser; Query query = new QueryStringQueryBuilder(DATE_RANGE_FIELD_NAME + ":[2010-01-01 TO 2018-01-01]").toQuery(createShardContext()); String lowerBoundExact = "2010-01-01T00:00:00.000"; @@ -116,7 +116,7 @@ public void testDateRangeQuery() throws Exception { assertEquals(new IndexOrDocValuesQuery(range, dv), query); // also make sure the produced bounds are the same as on a regular `date` field - DateFieldMapper.DateFieldType dateType = (DateFieldMapper.DateFieldType) context.fieldMapper(DATE_FIELD_NAME); + DateFieldMapper.DateFieldType dateType = (DateFieldMapper.DateFieldType) context.getFieldType(DATE_FIELD_NAME); parser = dateType.dateMathParser; Query queryOnDateField = new QueryStringQueryBuilder(DATE_FIELD_NAME + ":[2010-01-01 TO 2018-01-01]").toQuery(createShardContext()); Query controlQuery = LongPoint.newRangeQuery(DATE_FIELD_NAME, diff --git a/server/src/test/java/org/elasticsearch/index/query/DistanceFeatureQueryBuilderTests.java b/server/src/test/java/org/elasticsearch/index/query/DistanceFeatureQueryBuilderTests.java index 4feaf9a9758be..3591ca3410d6d 100644 --- a/server/src/test/java/org/elasticsearch/index/query/DistanceFeatureQueryBuilderTests.java +++ b/server/src/test/java/org/elasticsearch/index/query/DistanceFeatureQueryBuilderTests.java @@ -84,7 +84,7 @@ protected void doAssertLuceneQuery(DistanceFeatureQueryBuilder queryBuilder, double pivotDouble = DistanceUnit.DEFAULT.parse(pivot, DistanceUnit.DEFAULT); expectedQuery = LatLonPoint.newDistanceFeatureQuery(fieldName, boost, originGeoPoint.lat(), originGeoPoint.lon(), pivotDouble); } else { // if (fieldName.equals(DATE_FIELD_NAME)) - DateFieldType fieldType = (DateFieldType) context.fieldMapper(fieldName); + DateFieldType fieldType = (DateFieldType) context.getFieldType(fieldName); long originLong = fieldType.parseToLong(origin, true, null, null, context::nowInMillis); TimeValue pivotVal = TimeValue.parseTimeValue(pivot, DistanceFeatureQueryBuilder.class.getSimpleName() + ".pivot"); long pivotLong; diff --git a/server/src/test/java/org/elasticsearch/index/query/ExistsQueryBuilderTests.java b/server/src/test/java/org/elasticsearch/index/query/ExistsQueryBuilderTests.java index 6f64cd69cae83..27cb2254c7abe 100644 --- a/server/src/test/java/org/elasticsearch/index/query/ExistsQueryBuilderTests.java +++ b/server/src/test/java/org/elasticsearch/index/query/ExistsQueryBuilderTests.java @@ -78,11 +78,11 @@ protected void doAssertLuceneQuery(ExistsQueryBuilder queryBuilder, Query query, BooleanClause booleanClause = booleanQuery.clauses().get(i); assertThat(booleanClause.getOccur(), equalTo(BooleanClause.Occur.SHOULD)); } - } else if (context.fieldMapper(field).hasDocValues()) { + } else if (context.getFieldType(field).hasDocValues()) { assertThat(constantScoreQuery.getQuery(), instanceOf(DocValuesFieldExistsQuery.class)); DocValuesFieldExistsQuery dvExistsQuery = (DocValuesFieldExistsQuery) constantScoreQuery.getQuery(); assertEquals(field, dvExistsQuery.getField()); - } else if (context.fieldMapper(field).getTextSearchInfo().hasNorms()) { + } else if (context.getFieldType(field).getTextSearchInfo().hasNorms()) { assertThat(constantScoreQuery.getQuery(), instanceOf(NormsFieldExistsQuery.class)); NormsFieldExistsQuery normsExistsQuery = (NormsFieldExistsQuery) constantScoreQuery.getQuery(); assertEquals(field, normsExistsQuery.getField()); diff --git a/server/src/test/java/org/elasticsearch/index/query/GeoBoundingBoxQueryBuilderTests.java b/server/src/test/java/org/elasticsearch/index/query/GeoBoundingBoxQueryBuilderTests.java index 4b49746c79511..c4fa6a3cc2371 100644 --- a/server/src/test/java/org/elasticsearch/index/query/GeoBoundingBoxQueryBuilderTests.java +++ b/server/src/test/java/org/elasticsearch/index/query/GeoBoundingBoxQueryBuilderTests.java @@ -206,7 +206,7 @@ public void testStrictnessDefault() { @Override protected void doAssertLuceneQuery(GeoBoundingBoxQueryBuilder queryBuilder, Query query, QueryShardContext context) throws IOException { - MappedFieldType fieldType = context.fieldMapper(queryBuilder.fieldName()); + MappedFieldType fieldType = context.getFieldType(queryBuilder.fieldName()); if (fieldType == null) { assertTrue("Found no indexed geo query.", query instanceof MatchNoDocsQuery); } else if (query instanceof IndexOrDocValuesQuery) { // TODO: remove the if statement once we always use LatLonPoint diff --git a/server/src/test/java/org/elasticsearch/index/query/GeoPolygonQueryBuilderTests.java b/server/src/test/java/org/elasticsearch/index/query/GeoPolygonQueryBuilderTests.java index 49c081270e723..385af8bb7e065 100644 --- a/server/src/test/java/org/elasticsearch/index/query/GeoPolygonQueryBuilderTests.java +++ b/server/src/test/java/org/elasticsearch/index/query/GeoPolygonQueryBuilderTests.java @@ -63,7 +63,7 @@ protected GeoPolygonQueryBuilder doCreateTestQueryBuilder() { @Override protected void doAssertLuceneQuery(GeoPolygonQueryBuilder queryBuilder, Query query, QueryShardContext context) throws IOException { - MappedFieldType fieldType = context.fieldMapper(queryBuilder.fieldName()); + MappedFieldType fieldType = context.getFieldType(queryBuilder.fieldName()); if (fieldType == null) { assertTrue("Found no indexed geo query.", query instanceof MatchNoDocsQuery); } else { // TODO: Test case when there are no docValues diff --git a/server/src/test/java/org/elasticsearch/index/query/MatchQueryBuilderTests.java b/server/src/test/java/org/elasticsearch/index/query/MatchQueryBuilderTests.java index 1a2e277a6d9c1..e28a27ca9c49d 100644 --- a/server/src/test/java/org/elasticsearch/index/query/MatchQueryBuilderTests.java +++ b/server/src/test/java/org/elasticsearch/index/query/MatchQueryBuilderTests.java @@ -150,7 +150,7 @@ protected void doAssertLuceneQuery(MatchQueryBuilder queryBuilder, Query query, return; } - MappedFieldType fieldType = context.fieldMapper(queryBuilder.fieldName()); + MappedFieldType fieldType = context.getFieldType(queryBuilder.fieldName()); if (query instanceof TermQuery && fieldType != null) { String queryValue = queryBuilder.value().toString(); if (isTextField(queryBuilder.fieldName()) diff --git a/server/src/test/java/org/elasticsearch/index/query/PrefixQueryBuilderTests.java b/server/src/test/java/org/elasticsearch/index/query/PrefixQueryBuilderTests.java index fa94900d8efd1..8b9cc31d32a5a 100644 --- a/server/src/test/java/org/elasticsearch/index/query/PrefixQueryBuilderTests.java +++ b/server/src/test/java/org/elasticsearch/index/query/PrefixQueryBuilderTests.java @@ -71,9 +71,9 @@ private static PrefixQueryBuilder randomPrefixQuery() { @Override protected void doAssertLuceneQuery(PrefixQueryBuilder queryBuilder, Query query, QueryShardContext context) throws IOException { - assertThat(query, Matchers.anyOf(instanceOf(PrefixQuery.class), instanceOf(MatchNoDocsQuery.class), + assertThat(query, Matchers.anyOf(instanceOf(PrefixQuery.class), instanceOf(MatchNoDocsQuery.class), instanceOf(AutomatonQuery.class))); - if (context.fieldMapper(queryBuilder.fieldName()) != null + if (context.getFieldType(queryBuilder.fieldName()) != null && queryBuilder.caseInsensitive() == false) { // The field is mapped and case sensitive PrefixQuery prefixQuery = (PrefixQuery) query; @@ -105,7 +105,7 @@ public void testBlendedRewriteMethod() throws IOException { public void testFromJson() throws IOException { String json = "{ \"prefix\" : { \"user\" : { \"value\" : \"ki\",\n" - + " \"case_insensitive\" : true,\n" + + " \"case_insensitive\" : true,\n" + " \"boost\" : 2.0" + "} }}"; @@ -151,7 +151,7 @@ public void testParseFailsWithMultipleFields() throws IOException { e = expectThrows(ParsingException.class, () -> parseQuery(shortJson)); assertEquals("[prefix] query doesn't support multiple fields, found [user1] and [user2]", e.getMessage()); } - + public void testRewriteIndexQueryToMatchNone() throws Exception { PrefixQueryBuilder query = prefixQuery("_index", "does_not_exist"); QueryShardContext queryShardContext = createShardContext(); 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 58486d4d7cb0e..8750f6ad7e05d 100644 --- a/server/src/test/java/org/elasticsearch/index/query/QueryShardContextTests.java +++ b/server/src/test/java/org/elasticsearch/index/query/QueryShardContextTests.java @@ -366,7 +366,7 @@ private static List collect(String field, QueryShardContext queryShardCo indexWriter.addDocument(List.of(new StringField("indexed_field", "second", Field.Store.NO))); try (DirectoryReader reader = indexWriter.getReader()) { IndexSearcher searcher = newSearcher(reader); - MappedFieldType fieldType = queryShardContext.fieldMapper(field); + MappedFieldType fieldType = queryShardContext.getFieldType(field); IndexFieldData indexFieldData; if (randomBoolean()) { indexFieldData = queryShardContext.getForField(fieldType); diff --git a/server/src/test/java/org/elasticsearch/index/query/QueryStringQueryBuilderTests.java b/server/src/test/java/org/elasticsearch/index/query/QueryStringQueryBuilderTests.java index 0e3621fd85de7..e22da902a391a 100644 --- a/server/src/test/java/org/elasticsearch/index/query/QueryStringQueryBuilderTests.java +++ b/server/src/test/java/org/elasticsearch/index/query/QueryStringQueryBuilderTests.java @@ -1056,7 +1056,7 @@ public void testExistsFieldQuery() throws Exception { QueryShardContext context = createShardContext(); QueryStringQueryBuilder queryBuilder = new QueryStringQueryBuilder(TEXT_FIELD_NAME + ":*"); Query query = queryBuilder.toQuery(context); - if (context.fieldMapper(TEXT_FIELD_NAME).getTextSearchInfo().hasNorms()) { + if (context.getFieldType(TEXT_FIELD_NAME).getTextSearchInfo().hasNorms()) { assertThat(query, equalTo(new ConstantScoreQuery(new NormsFieldExistsQuery(TEXT_FIELD_NAME)))); } else { assertThat(query, equalTo(new ConstantScoreQuery(new TermQuery(new Term("_field_names", TEXT_FIELD_NAME))))); @@ -1066,7 +1066,7 @@ public void testExistsFieldQuery() throws Exception { String value = (quoted ? "\"" : "") + TEXT_FIELD_NAME + (quoted ? "\"" : ""); queryBuilder = new QueryStringQueryBuilder("_exists_:" + value); query = queryBuilder.toQuery(context); - if (context.fieldMapper(TEXT_FIELD_NAME).getTextSearchInfo().hasNorms()) { + if (context.getFieldType(TEXT_FIELD_NAME).getTextSearchInfo().hasNorms()) { assertThat(query, equalTo(new ConstantScoreQuery(new NormsFieldExistsQuery(TEXT_FIELD_NAME)))); } else { assertThat(query, equalTo(new ConstantScoreQuery(new TermQuery(new Term("_field_names", TEXT_FIELD_NAME))))); diff --git a/server/src/test/java/org/elasticsearch/index/query/RangeQueryBuilderTests.java b/server/src/test/java/org/elasticsearch/index/query/RangeQueryBuilderTests.java index 296471db2913f..7df7eae86b55c 100644 --- a/server/src/test/java/org/elasticsearch/index/query/RangeQueryBuilderTests.java +++ b/server/src/test/java/org/elasticsearch/index/query/RangeQueryBuilderTests.java @@ -79,7 +79,7 @@ protected RangeQueryBuilder doCreateTestQueryBuilder() { query.to(DateFieldMapper.DEFAULT_DATE_TIME_FORMATTER.format(end)); // Create timestamp option only then we have a date mapper, // otherwise we could trigger exception. - if (createShardContext().fieldMapper(DATE_FIELD_NAME) != null) { + if (createShardContext().getFieldType(DATE_FIELD_NAME) != null) { if (randomBoolean()) { query.timeZone(randomZone().getId()); } @@ -135,10 +135,10 @@ protected void doAssertLuceneQuery(RangeQueryBuilder queryBuilder, Query query, String expectedFieldName = expectedFieldName(queryBuilder.fieldName()); if (queryBuilder.from() == null && queryBuilder.to() == null) { final Query expectedQuery; - final MappedFieldType resolvedFieldType = context.fieldMapper(queryBuilder.fieldName()); + final MappedFieldType resolvedFieldType = context.getFieldType(queryBuilder.fieldName()); if (resolvedFieldType.hasDocValues()) { expectedQuery = new ConstantScoreQuery(new DocValuesFieldExistsQuery(expectedFieldName)); - } else if (context.fieldMapper(resolvedFieldType.name()) + } else if (context.getFieldType(resolvedFieldType.name()) .getTextSearchInfo().hasNorms()) { expectedQuery = new ConstantScoreQuery(new NormsFieldExistsQuery(expectedFieldName)); } else { @@ -160,7 +160,7 @@ protected void doAssertLuceneQuery(RangeQueryBuilder queryBuilder, Query query, assertThat(query, instanceOf(IndexOrDocValuesQuery.class)); query = ((IndexOrDocValuesQuery) query).getIndexQuery(); assertThat(query, instanceOf(PointRangeQuery.class)); - MappedFieldType mappedFieldType = context.fieldMapper(expectedFieldName); + MappedFieldType mappedFieldType = context.getFieldType(expectedFieldName); final Long fromInMillis; final Long toInMillis; // we have to normalize the incoming value into milliseconds since it could be literally anything @@ -412,7 +412,7 @@ protected MappedFieldType.Relation getRelation(QueryRewriteContext queryRewriteC // Range query with open bounds rewrite to an exists query Query luceneQuery = rewrittenRange.toQuery(queryShardContext); final Query expectedQuery; - if (queryShardContext.fieldMapper(query.fieldName()).hasDocValues()) { + if (queryShardContext.getFieldType(query.fieldName()).hasDocValues()) { expectedQuery = new ConstantScoreQuery(new DocValuesFieldExistsQuery(query.fieldName())); } else { expectedQuery = new ConstantScoreQuery(new TermQuery(new Term(FieldNamesFieldMapper.NAME, query.fieldName()))); diff --git a/server/src/test/java/org/elasticsearch/index/query/SpanTermQueryBuilderTests.java b/server/src/test/java/org/elasticsearch/index/query/SpanTermQueryBuilderTests.java index 30dab4092cb26..5734fc5f8ef52 100644 --- a/server/src/test/java/org/elasticsearch/index/query/SpanTermQueryBuilderTests.java +++ b/server/src/test/java/org/elasticsearch/index/query/SpanTermQueryBuilderTests.java @@ -65,7 +65,7 @@ protected void doAssertLuceneQuery(SpanTermQueryBuilder queryBuilder, Query quer String expectedFieldName = expectedFieldName(queryBuilder.fieldName); assertThat(spanTermQuery.getTerm().field(), equalTo(expectedFieldName)); - MappedFieldType mapper = context.fieldMapper(queryBuilder.fieldName()); + MappedFieldType mapper = context.getFieldType(queryBuilder.fieldName()); if (mapper != null) { Term term = ((TermQuery) mapper.termQuery(queryBuilder.value(), null)).getTerm(); assertThat(spanTermQuery.getTerm(), equalTo(term)); diff --git a/server/src/test/java/org/elasticsearch/index/query/TermQueryBuilderTests.java b/server/src/test/java/org/elasticsearch/index/query/TermQueryBuilderTests.java index 13b37091009f0..bfb19bf3e04e7 100644 --- a/server/src/test/java/org/elasticsearch/index/query/TermQueryBuilderTests.java +++ b/server/src/test/java/org/elasticsearch/index/query/TermQueryBuilderTests.java @@ -96,7 +96,7 @@ protected TermQueryBuilder createQueryBuilder(String fieldName, Object value) { protected void doAssertLuceneQuery(TermQueryBuilder queryBuilder, Query query, QueryShardContext context) throws IOException { assertThat(query, either(instanceOf(TermQuery.class)).or(instanceOf(PointRangeQuery.class)).or(instanceOf(MatchNoDocsQuery.class)) .or(instanceOf(AutomatonQuery.class))); - MappedFieldType mapper = context.fieldMapper(queryBuilder.fieldName()); + MappedFieldType mapper = context.getFieldType(queryBuilder.fieldName()); if (query instanceof TermQuery) { TermQuery termQuery = (TermQuery) query; diff --git a/server/src/test/java/org/elasticsearch/index/query/TermsQueryBuilderTests.java b/server/src/test/java/org/elasticsearch/index/query/TermsQueryBuilderTests.java index 01d267538e25b..aa381eac7a9b9 100644 --- a/server/src/test/java/org/elasticsearch/index/query/TermsQueryBuilderTests.java +++ b/server/src/test/java/org/elasticsearch/index/query/TermsQueryBuilderTests.java @@ -136,7 +136,7 @@ protected void doAssertLuceneQuery(TermsQueryBuilder queryBuilder, Query query, String fieldName = expectedFieldName(queryBuilder.fieldName()); Query expected; - if (context.fieldMapper(fieldName) != null) { + if (context.getFieldType(fieldName) != null) { expected = new TermInSetQuery(fieldName, terms.stream().filter(Objects::nonNull).map(Object::toString).map(BytesRef::new).collect(Collectors.toList())); } else { diff --git a/server/src/test/java/org/elasticsearch/index/query/functionscore/ScoreFunctionBuilderTests.java b/server/src/test/java/org/elasticsearch/index/query/functionscore/ScoreFunctionBuilderTests.java index 8e47b090e2848..f16dab633c926 100644 --- a/server/src/test/java/org/elasticsearch/index/query/functionscore/ScoreFunctionBuilderTests.java +++ b/server/src/test/java/org/elasticsearch/index/query/functionscore/ScoreFunctionBuilderTests.java @@ -61,7 +61,7 @@ public void testRandomScoreFunctionWithSeedNoField() throws Exception { Mockito.when(context.index()).thenReturn(settings.getIndex()); Mockito.when(context.getShardId()).thenReturn(0); Mockito.when(context.getIndexSettings()).thenReturn(settings); - Mockito.when(context.fieldMapper(IdFieldMapper.NAME)).thenReturn(new KeywordFieldMapper.KeywordFieldType(IdFieldMapper.NAME)); + Mockito.when(context.getFieldType(IdFieldMapper.NAME)).thenReturn(new KeywordFieldMapper.KeywordFieldType(IdFieldMapper.NAME)); Mockito.when(context.isFieldMapped(IdFieldMapper.NAME)).thenReturn(true); builder.toFunction(context); assertWarnings("As of version 7.0 Elasticsearch will require that a [field] parameter is provided when a [seed] is set"); @@ -79,7 +79,7 @@ public void testRandomScoreFunctionWithSeed() throws Exception { Mockito.when(context.getShardId()).thenReturn(0); Mockito.when(context.getIndexSettings()).thenReturn(settings); MappedFieldType ft = new NumberFieldMapper.NumberFieldType("foo", NumberType.LONG); - Mockito.when(context.fieldMapper("foo")).thenReturn(ft); + Mockito.when(context.getFieldType("foo")).thenReturn(ft); Mockito.when(context.isFieldMapped("foo")).thenReturn(true); builder.toFunction(context); } diff --git a/server/src/test/java/org/elasticsearch/search/DefaultSearchContextTests.java b/server/src/test/java/org/elasticsearch/search/DefaultSearchContextTests.java index eea32aca46e27..d71958df9b1ea 100644 --- a/server/src/test/java/org/elasticsearch/search/DefaultSearchContextTests.java +++ b/server/src/test/java/org/elasticsearch/search/DefaultSearchContextTests.java @@ -219,7 +219,7 @@ protected Engine.Searcher acquireSearcherInternal(String source) { assertEquals(context3.query(), context3.buildFilteredQuery(parsedQuery.query())); when(queryShardContext.getIndexSettings()).thenReturn(indexSettings); - when(queryShardContext.fieldMapper(anyString())).thenReturn(mock(MappedFieldType.class)); + when(queryShardContext.getFieldType(anyString())).thenReturn(mock(MappedFieldType.class)); when(shardSearchRequest.indexRoutings()).thenReturn(new String[0]); readerContext.close(); 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 e9f96d1d57031..55f9fed7038e8 100644 --- a/server/src/test/java/org/elasticsearch/search/collapse/CollapseBuilderTests.java +++ b/server/src/test/java/org/elasticsearch/search/collapse/CollapseBuilderTests.java @@ -151,7 +151,7 @@ public void testBuild() throws IOException { MappedFieldType numberFieldType = new NumberFieldMapper.NumberFieldType("field", NumberFieldMapper.NumberType.LONG); - when(shardContext.fieldMapper("field")).thenReturn(numberFieldType); + when(shardContext.getFieldType("field")).thenReturn(numberFieldType); CollapseBuilder builder = new CollapseBuilder("field"); CollapseContext collapseContext = builder.build(shardContext); assertEquals(collapseContext.getFieldType(), numberFieldType); @@ -159,32 +159,32 @@ public void testBuild() throws IOException { numberFieldType = new NumberFieldMapper.NumberFieldType("field", NumberFieldMapper.NumberType.LONG, true, false, false, false, null, Collections.emptyMap()); - when(shardContext.fieldMapper("field")).thenReturn(numberFieldType); + when(shardContext.getFieldType("field")).thenReturn(numberFieldType); IllegalArgumentException exc = expectThrows(IllegalArgumentException.class, () -> builder.build(shardContext)); assertEquals(exc.getMessage(), "cannot collapse on field `field` without `doc_values`"); numberFieldType = new NumberFieldMapper.NumberFieldType("field", NumberFieldMapper.NumberType.LONG, false, false, true, false, null, Collections.emptyMap()); - when(shardContext.fieldMapper("field")).thenReturn(numberFieldType); + when(shardContext.getFieldType("field")).thenReturn(numberFieldType); builder.setInnerHits(new InnerHitBuilder()); exc = expectThrows(IllegalArgumentException.class, () -> builder.build(shardContext)); assertEquals(exc.getMessage(), "cannot expand `inner_hits` for collapse field `field`, only indexed field can retrieve `inner_hits`"); MappedFieldType keywordFieldType = new KeywordFieldMapper.KeywordFieldType("field"); - when(shardContext.fieldMapper("field")).thenReturn(keywordFieldType); + when(shardContext.getFieldType("field")).thenReturn(keywordFieldType); CollapseBuilder kbuilder = new CollapseBuilder("field"); collapseContext = kbuilder.build(shardContext); assertEquals(collapseContext.getFieldType(), keywordFieldType); keywordFieldType = new KeywordFieldMapper.KeywordFieldType("field", true, false, Collections.emptyMap()); - when(shardContext.fieldMapper("field")).thenReturn(keywordFieldType); + when(shardContext.getFieldType("field")).thenReturn(keywordFieldType); exc = expectThrows(IllegalArgumentException.class, () -> kbuilder.build(shardContext)); assertEquals(exc.getMessage(), "cannot collapse on field `field` without `doc_values`"); keywordFieldType = new KeywordFieldMapper.KeywordFieldType("field", false, true, Collections.emptyMap()); - when(shardContext.fieldMapper("field")).thenReturn(keywordFieldType); + when(shardContext.getFieldType("field")).thenReturn(keywordFieldType); kbuilder.setInnerHits(new InnerHitBuilder()); exc = expectThrows(IllegalArgumentException.class, () -> builder.build(shardContext)); assertEquals(exc.getMessage(), @@ -222,7 +222,7 @@ public Query existsQuery(QueryShardContext context) { return null; } }; - when(shardContext.fieldMapper("field")).thenReturn(fieldType); + when(shardContext.getFieldType("field")).thenReturn(fieldType); CollapseBuilder builder = new CollapseBuilder("field"); IllegalArgumentException exc = expectThrows(IllegalArgumentException.class, () -> builder.build(shardContext)); assertEquals(exc.getMessage(), "unknown type for collapse field `field`, only keywords and numbers are accepted"); diff --git a/server/src/test/java/org/elasticsearch/search/fetch/subphase/highlight/HighlightBuilderTests.java b/server/src/test/java/org/elasticsearch/search/fetch/subphase/highlight/HighlightBuilderTests.java index a2feac63e6c38..098ac2cd7a959 100644 --- a/server/src/test/java/org/elasticsearch/search/fetch/subphase/highlight/HighlightBuilderTests.java +++ b/server/src/test/java/org/elasticsearch/search/fetch/subphase/highlight/HighlightBuilderTests.java @@ -283,7 +283,7 @@ public void testBuildSearchContextHighlight() throws IOException { null, null, null, null, null, xContentRegistry(), namedWriteableRegistry, null, null, System::currentTimeMillis, null, null, () -> true, null) { @Override - public MappedFieldType fieldMapper(String name) { + public MappedFieldType getFieldType(String name) { TextFieldMapper.Builder builder = new TextFieldMapper.Builder(name, () -> Lucene.STANDARD_ANALYZER); return builder.build(new Mapper.BuilderContext(idxSettings.getSettings(), new ContentPath(1))).fieldType(); } diff --git a/server/src/test/java/org/elasticsearch/search/rescore/QueryRescorerBuilderTests.java b/server/src/test/java/org/elasticsearch/search/rescore/QueryRescorerBuilderTests.java index 01e97fafe009f..88913e0aaa782 100644 --- a/server/src/test/java/org/elasticsearch/search/rescore/QueryRescorerBuilderTests.java +++ b/server/src/test/java/org/elasticsearch/search/rescore/QueryRescorerBuilderTests.java @@ -147,7 +147,7 @@ public void testBuildRescoreSearchContext() throws ElasticsearchParseException, null, null, null, null, null, xContentRegistry(), namedWriteableRegistry, null, null, () -> nowInMillis, null, null, () -> true, null) { @Override - public MappedFieldType fieldMapper(String name) { + public MappedFieldType getFieldType(String name) { TextFieldMapper.Builder builder = new TextFieldMapper.Builder(name, () -> Lucene.STANDARD_ANALYZER); return builder.build(new Mapper.BuilderContext(idxSettings.getSettings(), new ContentPath(1))).fieldType(); } @@ -191,7 +191,7 @@ public void testRewritingKeepsSettings() throws IOException { null, null, null, null, null, xContentRegistry(), namedWriteableRegistry, null, null, () -> nowInMillis, null, null, () -> true, null) { @Override - public MappedFieldType fieldMapper(String name) { + public MappedFieldType getFieldType(String name) { TextFieldMapper.Builder builder = new TextFieldMapper.Builder(name, () -> Lucene.STANDARD_ANALYZER); return builder.build(new Mapper.BuilderContext(idxSettings.getSettings(), new ContentPath(1))).fieldType(); } 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 7130f411ef549..f015c40a580df 100644 --- a/server/src/test/java/org/elasticsearch/search/slice/SliceBuilderTests.java +++ b/server/src/test/java/org/elasticsearch/search/slice/SliceBuilderTests.java @@ -145,7 +145,7 @@ public Query existsQuery(QueryShardContext context) { } }; QueryShardContext context = mock(QueryShardContext.class); - when(context.fieldMapper(fieldName)).thenReturn(fieldType); + when(context.getFieldType(fieldName)).thenReturn(fieldType); when(context.getIndexReader()).thenReturn(reader); when(context.getShardId()).thenReturn(shardId); IndexSettings indexSettings = createIndexSettings(indexVersionCreated, numShards); 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 b857a5018b630..67255d78356d2 100644 --- a/server/src/test/java/org/elasticsearch/search/sort/AbstractSortTestCase.java +++ b/server/src/test/java/org/elasticsearch/search/sort/AbstractSortTestCase.java @@ -206,7 +206,7 @@ null, null, scriptService, xContentRegistry(), namedWriteableRegistry, null, sea () -> randomNonNegativeLong(), null, null, () -> true, null) { @Override - public MappedFieldType fieldMapper(String name) { + public MappedFieldType getFieldType(String name) { return provideMappedFieldType(name); } diff --git a/test/framework/src/main/java/org/elasticsearch/index/mapper/MapperServiceTestCase.java b/test/framework/src/main/java/org/elasticsearch/index/mapper/MapperServiceTestCase.java index 3bd4b82fb38dc..516b1e95bf2cb 100644 --- a/test/framework/src/main/java/org/elasticsearch/index/mapper/MapperServiceTestCase.java +++ b/test/framework/src/main/java/org/elasticsearch/index/mapper/MapperServiceTestCase.java @@ -224,7 +224,7 @@ protected final XContentBuilder fieldMapping(CheckedConsumer mapperService.fieldType(inv.getArguments()[0].toString())); + when(queryShardContext.getFieldType(anyString())).thenAnswer(inv -> mapperService.fieldType(inv.getArguments()[0].toString())); when(queryShardContext.isFieldMapped(anyString())) .thenAnswer(inv -> mapperService.fieldType(inv.getArguments()[0].toString()) != null); when(queryShardContext.getIndexAnalyzers()).thenReturn(mapperService.getIndexAnalyzers()); diff --git a/x-pack/plugin/enrich/src/main/java/org/elasticsearch/xpack/enrich/action/EnrichShardMultiSearchAction.java b/x-pack/plugin/enrich/src/main/java/org/elasticsearch/xpack/enrich/action/EnrichShardMultiSearchAction.java index 4726b2d943630..dac79f04cba67 100644 --- a/x-pack/plugin/enrich/src/main/java/org/elasticsearch/xpack/enrich/action/EnrichShardMultiSearchAction.java +++ b/x-pack/plugin/enrich/src/main/java/org/elasticsearch/xpack/enrich/action/EnrichShardMultiSearchAction.java @@ -258,7 +258,7 @@ protected MultiSearchResponse shardOperation(Request request, ShardId shardId) t if (context.isFieldMapped(field) == false) { throw new IllegalStateException("Field [" + field + "] exists in the index but not in mappings"); } - return context.fieldMapper(field); + return context.getFieldType(field); }); final SearchHit hit = new SearchHit(scoreDoc.doc, visitor.id(), Map.of(), Map.of()); hit.sourceRef(filterSource(fetchSourceContext, visitor.source())); diff --git a/x-pack/plugin/runtime-fields/src/test/java/org/elasticsearch/xpack/runtimefields/mapper/AbstractScriptFieldTypeTestCase.java b/x-pack/plugin/runtime-fields/src/test/java/org/elasticsearch/xpack/runtimefields/mapper/AbstractScriptFieldTypeTestCase.java index f1717b8c59f30..74d0168447071 100644 --- a/x-pack/plugin/runtime-fields/src/test/java/org/elasticsearch/xpack/runtimefields/mapper/AbstractScriptFieldTypeTestCase.java +++ b/x-pack/plugin/runtime-fields/src/test/java/org/elasticsearch/xpack/runtimefields/mapper/AbstractScriptFieldTypeTestCase.java @@ -72,7 +72,7 @@ protected static QueryShardContext mockContext(boolean allowExpensiveQueries, Ma when(mapperService.fieldType(anyString())).thenReturn(mappedFieldType); QueryShardContext context = mock(QueryShardContext.class); if (mappedFieldType != null) { - when(context.fieldMapper(anyString())).thenReturn(mappedFieldType); + when(context.getFieldType(anyString())).thenReturn(mappedFieldType); when(context.getSearchAnalyzer(any())).thenReturn(mappedFieldType.getTextSearchInfo().getSearchAnalyzer()); } when(context.allowExpensiveQueries()).thenReturn(allowExpensiveQueries); diff --git a/x-pack/plugin/search-business-rules/src/main/java/org/elasticsearch/xpack/searchbusinessrules/PinnedQueryBuilder.java b/x-pack/plugin/search-business-rules/src/main/java/org/elasticsearch/xpack/searchbusinessrules/PinnedQueryBuilder.java index 5cca38245ce71..228f8c2406391 100644 --- a/x-pack/plugin/search-business-rules/src/main/java/org/elasticsearch/xpack/searchbusinessrules/PinnedQueryBuilder.java +++ b/x-pack/plugin/search-business-rules/src/main/java/org/elasticsearch/xpack/searchbusinessrules/PinnedQueryBuilder.java @@ -70,20 +70,20 @@ public PinnedQueryBuilder(QueryBuilder organicQuery, String... ids) { } if (ids.length > MAX_NUM_PINNED_HITS) { throw new IllegalArgumentException("[" + NAME + "] Max of "+MAX_NUM_PINNED_HITS+" ids exceeded: "+ - ids.length+" provided."); + ids.length+" provided."); } LinkedHashSet deduped = new LinkedHashSet<>(); for (String id : ids) { if (id == null) { throw new IllegalArgumentException("[" + NAME + "] id cannot be null"); - } + } if(deduped.add(id) == false) { - throw new IllegalArgumentException("[" + NAME + "] duplicate id found in list: "+id); + throw new IllegalArgumentException("[" + NAME + "] duplicate id found in list: "+id); } } this.ids = new ArrayList<>(); Collections.addAll(this.ids, ids); - + } /** @@ -130,11 +130,11 @@ protected void doXContent(XContentBuilder builder, Params params) throws IOExcep printBoostAndQueryName(builder); builder.endObject(); } - - - + + + private static final ConstructingObjectParser PARSER = new ConstructingObjectParser<>(NAME, - a -> + a -> { QueryBuilder organicQuery = (QueryBuilder) a[0]; @SuppressWarnings("unchecked") @@ -143,7 +143,7 @@ protected void doXContent(XContentBuilder builder, Params params) throws IOExcep } ); static { - PARSER.declareObject(constructorArg(), (p, c) -> parseInnerQueryBuilder(p), ORGANIC_QUERY_FIELD); + PARSER.declareObject(constructorArg(), (p, c) -> parseInnerQueryBuilder(p), ORGANIC_QUERY_FIELD); PARSER.declareStringArray(constructorArg(), IDS_FIELD); declareStandardFields(PARSER); } @@ -174,7 +174,7 @@ protected QueryBuilder doRewrite(QueryRewriteContext queryShardContext) throws I @Override protected Query doToQuery(QueryShardContext context) throws IOException { - MappedFieldType idField = context.fieldMapper(IdFieldMapper.NAME); + MappedFieldType idField = context.getFieldType(IdFieldMapper.NAME); if (idField == null) { return new MatchNoDocsQuery("No mappings"); } diff --git a/x-pack/plugin/spatial/src/main/java/org/elasticsearch/xpack/spatial/index/query/ShapeQueryPointProcessor.java b/x-pack/plugin/spatial/src/main/java/org/elasticsearch/xpack/spatial/index/query/ShapeQueryPointProcessor.java index 3a1b381f5185f..5bf40375a1b0a 100644 --- a/x-pack/plugin/spatial/src/main/java/org/elasticsearch/xpack/spatial/index/query/ShapeQueryPointProcessor.java +++ b/x-pack/plugin/spatial/src/main/java/org/elasticsearch/xpack/spatial/index/query/ShapeQueryPointProcessor.java @@ -29,8 +29,8 @@ import org.elasticsearch.index.mapper.MappedFieldType; import org.elasticsearch.index.query.QueryShardContext; import org.elasticsearch.index.query.QueryShardException; -import org.elasticsearch.xpack.spatial.index.mapper.PointFieldMapper; import org.elasticsearch.xpack.spatial.common.ShapeUtils; +import org.elasticsearch.xpack.spatial.index.mapper.PointFieldMapper; public class ShapeQueryPointProcessor { @@ -47,7 +47,7 @@ public Query shapeQuery(Geometry shape, String fieldName, ShapeRelation relation } private void validateIsPointFieldType(String fieldName, QueryShardContext context) { - MappedFieldType fieldType = context.fieldMapper(fieldName); + MappedFieldType fieldType = context.getFieldType(fieldName); if (fieldType instanceof PointFieldMapper.PointFieldType == false) { throw new QueryShardException(context, "Expected " + PointFieldMapper.CONTENT_TYPE + " field type for Field [" + fieldName + "] but found " + fieldType.typeName()); @@ -68,7 +68,7 @@ private class ShapeVisitor implements GeometryVisitor { ShapeVisitor(QueryShardContext context, String fieldName, ShapeRelation relation) { this.context = context; - this.fieldType = context.fieldMapper(fieldName); + this.fieldType = context.getFieldType(fieldName); this.fieldName = fieldName; this.relation = relation; } diff --git a/x-pack/plugin/spatial/src/main/java/org/elasticsearch/xpack/spatial/index/query/ShapeQueryProcessor.java b/x-pack/plugin/spatial/src/main/java/org/elasticsearch/xpack/spatial/index/query/ShapeQueryProcessor.java index 6f822a3e432dd..f3a0c6cb85335 100644 --- a/x-pack/plugin/spatial/src/main/java/org/elasticsearch/xpack/spatial/index/query/ShapeQueryProcessor.java +++ b/x-pack/plugin/spatial/src/main/java/org/elasticsearch/xpack/spatial/index/query/ShapeQueryProcessor.java @@ -26,8 +26,8 @@ import org.elasticsearch.index.mapper.MappedFieldType; import org.elasticsearch.index.query.QueryShardContext; import org.elasticsearch.index.query.QueryShardException; -import org.elasticsearch.xpack.spatial.index.mapper.ShapeFieldMapper; import org.elasticsearch.xpack.spatial.common.ShapeUtils; +import org.elasticsearch.xpack.spatial.index.mapper.ShapeFieldMapper; import java.util.ArrayList; import java.util.List; @@ -49,7 +49,7 @@ public Query shapeQuery(Geometry shape, String fieldName, ShapeRelation relation } private void validateIsShapeFieldType(String fieldName, QueryShardContext context) { - MappedFieldType fieldType = context.fieldMapper(fieldName); + MappedFieldType fieldType = context.getFieldType(fieldName); if (fieldType instanceof ShapeFieldMapper.ShapeFieldType == false) { throw new QueryShardException(context, "Expected " + ShapeFieldMapper.CONTENT_TYPE + " field type for Field [" + fieldName + "] but found " + fieldType.typeName()); diff --git a/x-pack/plugin/spatial/src/test/java/org/elasticsearch/xpack/spatial/ingest/CircleProcessorTests.java b/x-pack/plugin/spatial/src/test/java/org/elasticsearch/xpack/spatial/ingest/CircleProcessorTests.java index 443929dbf3340..fb7df534c0c8f 100644 --- a/x-pack/plugin/spatial/src/test/java/org/elasticsearch/xpack/spatial/ingest/CircleProcessorTests.java +++ b/x-pack/plugin/spatial/src/test/java/org/elasticsearch/xpack/spatial/ingest/CircleProcessorTests.java @@ -218,7 +218,7 @@ public void testGeoShapeQueryAcrossDateline() throws IOException { VectorGeoShapeQueryProcessor processor = new VectorGeoShapeQueryProcessor(); QueryShardContext mockedContext = mock(QueryShardContext.class); - when(mockedContext.fieldMapper(any())).thenReturn(shapeType); + when(mockedContext.getFieldType(any())).thenReturn(shapeType); Query sameShapeQuery = processor.geoShapeQuery(geometry, fieldName, ShapeRelation.INTERSECTS, mockedContext); Query pointOnDatelineQuery = processor.geoShapeQuery(new Point(180, circle.getLat()), fieldName, ShapeRelation.INTERSECTS, mockedContext); @@ -250,7 +250,7 @@ public void testShapeQuery() throws IOException { ShapeQueryProcessor processor = new ShapeQueryProcessor(); QueryShardContext mockedContext = mock(QueryShardContext.class); - when(mockedContext.fieldMapper(any())).thenReturn(shapeType); + when(mockedContext.getFieldType(any())).thenReturn(shapeType); Query sameShapeQuery = processor.shapeQuery(geometry, fieldName, ShapeRelation.INTERSECTS, mockedContext); Query centerPointQuery = processor.shapeQuery(new Point(circle.getLon(), circle.getLat()), fieldName, ShapeRelation.INTERSECTS, mockedContext); 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 a8a6f967f44d4..0d7ff26157d71 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 @@ -80,9 +80,9 @@ public class WildcardFieldMapperTests extends ESTestCase { static QueryShardContext createMockQueryShardContext(boolean allowExpensiveQueries, Version version) { QueryShardContext queryShardContext = mock(QueryShardContext.class); when(queryShardContext.allowExpensiveQueries()).thenReturn(allowExpensiveQueries); - when(queryShardContext.indexVersionCreated()).thenReturn(version); + when(queryShardContext.indexVersionCreated()).thenReturn(version); return queryShardContext; - } + } private static final String KEYWORD_FIELD_NAME = "keyword_field"; private static final String WILDCARD_FIELD_NAME = "wildcard_field"; @@ -152,7 +152,7 @@ public void testTooBigKeywordField() throws IOException { reader.close(); dir.close(); } - + public void testBWCIndexVersion() throws IOException { // Create old format index using wildcard ngram analyzer used in 7.9 launch Directory dir = newDirectory(); @@ -169,14 +169,14 @@ public void testBWCIndexVersion() throws IOException { DirectoryReader reader = iw.getReader(); IndexSearcher searcher = newSearcher(reader); iw.close(); - + // Unnatural circumstance - testing we fail if we were to use the new analyzer on old index Query oldWildcardFieldQuery = wildcardFieldType.fieldType().wildcardQuery("a b", null, null); TopDocs oldWildcardFieldTopDocs = searcher.search(oldWildcardFieldQuery, 10, Sort.INDEXORDER); assertThat(oldWildcardFieldTopDocs.totalHits.value, equalTo(0L)); - - + + // Natural circumstance test we revert to the old analyzer for old indices Query wildcardFieldQuery = wildcardFieldType79.fieldType().wildcardQuery("a b", null, null); TopDocs wildcardFieldTopDocs = searcher.search(wildcardFieldQuery, 10, Sort.INDEXORDER); @@ -184,7 +184,7 @@ public void testBWCIndexVersion() throws IOException { reader.close(); dir.close(); - } + } //Test long query strings don't cause exceptions public void testTooBigQueryField() throws IOException { @@ -893,7 +893,7 @@ null, null, null, xContentRegistry(), null, null, null, () -> randomNonNegativeLong(), null, null, () -> true, null) { @Override - public MappedFieldType fieldMapper(String name) { + public MappedFieldType getFieldType(String name) { return provideMappedFieldType(name); } };