diff --git a/modules/mapper-extras/src/internalClusterTest/java/org/elasticsearch/index/mapper/MatchOnlyTextFieldMapperTests.java b/modules/mapper-extras/src/internalClusterTest/java/org/elasticsearch/index/mapper/MatchOnlyTextFieldMapperTests.java index ad9835c42be60..448432e8d3012 100644 --- a/modules/mapper-extras/src/internalClusterTest/java/org/elasticsearch/index/mapper/MatchOnlyTextFieldMapperTests.java +++ b/modules/mapper-extras/src/internalClusterTest/java/org/elasticsearch/index/mapper/MatchOnlyTextFieldMapperTests.java @@ -60,6 +60,12 @@ protected void minimalMapping(XContentBuilder b) throws IOException { b.field("type", "match_only_text"); } + @Override + protected void minimalStoreMapping(XContentBuilder b) throws IOException { + // 'store' is always true + minimalMapping(b); + } + public void testDefaults() throws IOException { DocumentMapper mapper = createDocumentMapper(fieldMapping(this::minimalMapping)); assertEquals(Strings.toString(fieldMapping(this::minimalMapping)), mapper.mappingSource().toString()); diff --git a/modules/mapper-extras/src/test/java/org/elasticsearch/index/mapper/RankFeatureFieldMapperTests.java b/modules/mapper-extras/src/test/java/org/elasticsearch/index/mapper/RankFeatureFieldMapperTests.java index a099fa4d076cb..06681ee2be693 100644 --- a/modules/mapper-extras/src/test/java/org/elasticsearch/index/mapper/RankFeatureFieldMapperTests.java +++ b/modules/mapper-extras/src/test/java/org/elasticsearch/index/mapper/RankFeatureFieldMapperTests.java @@ -53,13 +53,13 @@ protected void assertSearchable(MappedFieldType fieldType) { } @Override - protected Collection getPlugins() { - return List.of(new MapperExtrasPlugin()); + protected boolean supportsStoredFields() { + return false; } @Override - protected boolean allowsStore() { - return false; + protected Collection getPlugins() { + return List.of(new MapperExtrasPlugin()); } static int getFrequency(TokenStream tk) throws IOException { diff --git a/modules/mapper-extras/src/test/java/org/elasticsearch/index/mapper/RankFeaturesFieldMapperTests.java b/modules/mapper-extras/src/test/java/org/elasticsearch/index/mapper/RankFeaturesFieldMapperTests.java index fe3c52ce2eb02..7135296c4e0a7 100644 --- a/modules/mapper-extras/src/test/java/org/elasticsearch/index/mapper/RankFeaturesFieldMapperTests.java +++ b/modules/mapper-extras/src/test/java/org/elasticsearch/index/mapper/RankFeaturesFieldMapperTests.java @@ -46,17 +46,17 @@ protected void minimalMapping(XContentBuilder b) throws IOException { } @Override - protected void registerParameters(ParameterChecker checker) throws IOException { - checker.registerConflictCheck("positive_score_impact", b -> b.field("positive_score_impact", false)); + protected boolean supportsStoredFields() { + return false; } @Override - protected boolean supportsMeta() { - return false; + protected void registerParameters(ParameterChecker checker) throws IOException { + checker.registerConflictCheck("positive_score_impact", b -> b.field("positive_score_impact", false)); } @Override - protected boolean allowsStore() { + protected boolean supportsMeta() { return false; } diff --git a/server/src/test/java/org/elasticsearch/index/mapper/CompletionFieldMapperTests.java b/server/src/test/java/org/elasticsearch/index/mapper/CompletionFieldMapperTests.java index 36eaa2db6f92b..76628429ce955 100644 --- a/server/src/test/java/org/elasticsearch/index/mapper/CompletionFieldMapperTests.java +++ b/server/src/test/java/org/elasticsearch/index/mapper/CompletionFieldMapperTests.java @@ -74,6 +74,11 @@ protected void metaMapping(XContentBuilder b) throws IOException { b.field("max_input_length", 50); } + @Override + protected boolean supportsStoredFields() { + return false; + } + @Override protected void registerParameters(ParameterChecker checker) throws IOException { checker.registerConflictCheck("analyzer", b -> b.field("analyzer", "standard")); @@ -108,11 +113,6 @@ protected IndexAnalyzers createIndexAnalyzers(IndexSettings indexSettings) { return new IndexAnalyzers(analyzers, Collections.emptyMap(), Collections.emptyMap()); } - @Override - protected boolean allowsStore() { - return false; - } - public void testDefaultConfiguration() throws IOException { DocumentMapper defaultMapper = createDocumentMapper(fieldMapping(this::minimalMapping)); diff --git a/server/src/test/java/org/elasticsearch/index/mapper/GeoShapeFieldMapperTests.java b/server/src/test/java/org/elasticsearch/index/mapper/GeoShapeFieldMapperTests.java index 85a7db57c8427..d2b166946b2c1 100644 --- a/server/src/test/java/org/elasticsearch/index/mapper/GeoShapeFieldMapperTests.java +++ b/server/src/test/java/org/elasticsearch/index/mapper/GeoShapeFieldMapperTests.java @@ -57,13 +57,13 @@ protected void minimalMapping(XContentBuilder b) throws IOException { } @Override - protected Object getSampleValueForDocument() { - return "POINT (14.0 15.0)"; + protected boolean supportsStoredFields() { + return false; } @Override - protected boolean allowsStore() { - return false; + protected Object getSampleValueForDocument() { + return "POINT (14.0 15.0)"; } public void testDefaultConfiguration() throws IOException { diff --git a/server/src/test/java/org/elasticsearch/index/mapper/LegacyGeoShapeFieldMapperTests.java b/server/src/test/java/org/elasticsearch/index/mapper/LegacyGeoShapeFieldMapperTests.java index 135f2762c46b5..e549800131d84 100644 --- a/server/src/test/java/org/elasticsearch/index/mapper/LegacyGeoShapeFieldMapperTests.java +++ b/server/src/test/java/org/elasticsearch/index/mapper/LegacyGeoShapeFieldMapperTests.java @@ -54,6 +54,11 @@ protected void minimalMapping(XContentBuilder b) throws IOException { b.field("type", "geo_shape").field("strategy", "recursive"); } + @Override + protected boolean supportsStoredFields() { + return false; + } + @Override protected void registerParameters(ParameterChecker checker) throws IOException { @@ -98,11 +103,6 @@ protected boolean supportsMeta() { return false; } - @Override - protected boolean allowsStore() { - return false; - } - public void testLegacySwitches() throws IOException { // if one of the legacy parameters is added to a 'type':'geo_shape' config then // that will select the legacy field mapper diff --git a/server/src/test/java/org/elasticsearch/index/mapper/flattened/FlattenedFieldMapperTests.java b/server/src/test/java/org/elasticsearch/index/mapper/flattened/FlattenedFieldMapperTests.java index 76cb8dcb2de98..d648061e7e178 100644 --- a/server/src/test/java/org/elasticsearch/index/mapper/flattened/FlattenedFieldMapperTests.java +++ b/server/src/test/java/org/elasticsearch/index/mapper/flattened/FlattenedFieldMapperTests.java @@ -66,7 +66,7 @@ protected void registerParameters(ParameterChecker checker) throws IOException { } @Override - protected boolean allowsStore() { + protected boolean supportsStoredFields() { return false; } diff --git a/test/framework/src/main/java/org/elasticsearch/index/mapper/MapperTestCase.java b/test/framework/src/main/java/org/elasticsearch/index/mapper/MapperTestCase.java index f29418e25645e..5ba8f8b5470e6 100644 --- a/test/framework/src/main/java/org/elasticsearch/index/mapper/MapperTestCase.java +++ b/test/framework/src/main/java/org/elasticsearch/index/mapper/MapperTestCase.java @@ -631,29 +631,24 @@ public final void testIndexTimeFieldData() throws IOException { }); } - protected boolean allowsStore() { + protected boolean supportsStoredFields() { return true; } + protected void minimalStoreMapping(XContentBuilder b) throws IOException { + minimalMapping(b); + b.field("store", true); + } + /** * Checks that loading stored fields for this field produces the same set of values * for query time scripts and index time scripts */ public final void testIndexTimeStoredFieldsAccess() throws IOException { - assumeTrue("FieldMapper implementation does not allow stored fields", allowsStore()); - MapperService mapperService; - try { - mapperService = createMapperService(fieldMapping(b -> { - minimalMapping(b); - b.field("store", true); - })); - assertParseMinimalWarnings(); - } catch (MapperParsingException e) { - assertParseMinimalWarnings(); - assumeFalse("Field type does not support stored fields", true); - return; - } + assumeTrue("Field type does not support stored fields", supportsStoredFields()); + MapperService mapperService = createMapperService(fieldMapping(this::minimalStoreMapping)); + assertParseMinimalWarnings(); MappedFieldType fieldType = mapperService.fieldType("field"); SourceToParse source = source(this::writeField); diff --git a/x-pack/plugin/analytics/src/test/java/org/elasticsearch/xpack/analytics/mapper/HistogramFieldMapperTests.java b/x-pack/plugin/analytics/src/test/java/org/elasticsearch/xpack/analytics/mapper/HistogramFieldMapperTests.java index 5e4928f8937bb..b98f1bf4d5f8a 100644 --- a/x-pack/plugin/analytics/src/test/java/org/elasticsearch/xpack/analytics/mapper/HistogramFieldMapperTests.java +++ b/x-pack/plugin/analytics/src/test/java/org/elasticsearch/xpack/analytics/mapper/HistogramFieldMapperTests.java @@ -55,7 +55,7 @@ protected boolean supportsSearchLookup() { } @Override - protected boolean allowsStore() { + protected boolean supportsStoredFields() { return false; } diff --git a/x-pack/plugin/mapper-aggregate-metric/src/test/java/org/elasticsearch/xpack/aggregatemetric/mapper/AggregateDoubleMetricFieldMapperTests.java b/x-pack/plugin/mapper-aggregate-metric/src/test/java/org/elasticsearch/xpack/aggregatemetric/mapper/AggregateDoubleMetricFieldMapperTests.java index 5ccd6d6b0fc29..904d7121153f1 100644 --- a/x-pack/plugin/mapper-aggregate-metric/src/test/java/org/elasticsearch/xpack/aggregatemetric/mapper/AggregateDoubleMetricFieldMapperTests.java +++ b/x-pack/plugin/mapper-aggregate-metric/src/test/java/org/elasticsearch/xpack/aggregatemetric/mapper/AggregateDoubleMetricFieldMapperTests.java @@ -100,7 +100,7 @@ protected Object getSampleValueForQuery() { } @Override - protected boolean allowsStore() { + protected boolean supportsStoredFields() { return false; } diff --git a/x-pack/plugin/mapper-constant-keyword/src/internalClusterTest/java/org/elasticsearch/xpack/constantkeyword/mapper/ConstantKeywordFieldMapperTests.java b/x-pack/plugin/mapper-constant-keyword/src/internalClusterTest/java/org/elasticsearch/xpack/constantkeyword/mapper/ConstantKeywordFieldMapperTests.java index a4462a1312933..5c368cede1d4b 100644 --- a/x-pack/plugin/mapper-constant-keyword/src/internalClusterTest/java/org/elasticsearch/xpack/constantkeyword/mapper/ConstantKeywordFieldMapperTests.java +++ b/x-pack/plugin/mapper-constant-keyword/src/internalClusterTest/java/org/elasticsearch/xpack/constantkeyword/mapper/ConstantKeywordFieldMapperTests.java @@ -59,7 +59,7 @@ protected Collection getPlugins() { } @Override - protected boolean allowsStore() { + protected boolean supportsStoredFields() { return false; } diff --git a/x-pack/plugin/mapper-version/src/test/java/org/elasticsearch/xpack/versionfield/VersionStringFieldMapperTests.java b/x-pack/plugin/mapper-version/src/test/java/org/elasticsearch/xpack/versionfield/VersionStringFieldMapperTests.java index 3d8735e5143a8..f46914416bc56 100644 --- a/x-pack/plugin/mapper-version/src/test/java/org/elasticsearch/xpack/versionfield/VersionStringFieldMapperTests.java +++ b/x-pack/plugin/mapper-version/src/test/java/org/elasticsearch/xpack/versionfield/VersionStringFieldMapperTests.java @@ -53,7 +53,7 @@ protected void registerParameters(ParameterChecker checker) throws IOException { } @Override - protected boolean allowsStore() { + protected boolean supportsStoredFields() { return false; } diff --git a/x-pack/plugin/spatial/src/test/java/org/elasticsearch/xpack/spatial/index/mapper/GeoShapeWithDocValuesFieldMapperTests.java b/x-pack/plugin/spatial/src/test/java/org/elasticsearch/xpack/spatial/index/mapper/GeoShapeWithDocValuesFieldMapperTests.java index 12fa851829ea8..fa91c754049d1 100644 --- a/x-pack/plugin/spatial/src/test/java/org/elasticsearch/xpack/spatial/index/mapper/GeoShapeWithDocValuesFieldMapperTests.java +++ b/x-pack/plugin/spatial/src/test/java/org/elasticsearch/xpack/spatial/index/mapper/GeoShapeWithDocValuesFieldMapperTests.java @@ -59,6 +59,11 @@ protected boolean supportsSearchLookup() { return false; } + @Override + protected boolean supportsStoredFields() { + return false; + } + @Override protected void registerParameters(ParameterChecker checker) throws IOException { checker.registerConflictCheck("doc_values", b -> b.field("doc_values", false)); @@ -81,11 +86,6 @@ protected void registerParameters(ParameterChecker checker) throws IOException { }); } - @Override - protected boolean allowsStore() { - return false; - } - @Override protected Collection getPlugins() { return Collections.singletonList(new LocalStateSpatialPlugin()); diff --git a/x-pack/plugin/spatial/src/test/java/org/elasticsearch/xpack/spatial/index/mapper/ShapeFieldMapperTests.java b/x-pack/plugin/spatial/src/test/java/org/elasticsearch/xpack/spatial/index/mapper/ShapeFieldMapperTests.java index 91b61e0c56ebe..acb06143e4096 100644 --- a/x-pack/plugin/spatial/src/test/java/org/elasticsearch/xpack/spatial/index/mapper/ShapeFieldMapperTests.java +++ b/x-pack/plugin/spatial/src/test/java/org/elasticsearch/xpack/spatial/index/mapper/ShapeFieldMapperTests.java @@ -54,7 +54,7 @@ protected void registerParameters(ParameterChecker checker) throws IOException { } @Override - protected boolean allowsStore() { + protected boolean supportsStoredFields() { return false; } diff --git a/x-pack/plugin/vectors/src/test/java/org/elasticsearch/xpack/vectors/mapper/DenseVectorFieldMapperTests.java b/x-pack/plugin/vectors/src/test/java/org/elasticsearch/xpack/vectors/mapper/DenseVectorFieldMapperTests.java index 5c52c4cdee0ae..02bc2c2ec7583 100644 --- a/x-pack/plugin/vectors/src/test/java/org/elasticsearch/xpack/vectors/mapper/DenseVectorFieldMapperTests.java +++ b/x-pack/plugin/vectors/src/test/java/org/elasticsearch/xpack/vectors/mapper/DenseVectorFieldMapperTests.java @@ -55,7 +55,7 @@ protected void registerParameters(ParameterChecker checker) throws IOException { } @Override - protected boolean allowsStore() { + protected boolean supportsStoredFields() { return false; } diff --git a/x-pack/plugin/vectors/src/test/java/org/elasticsearch/xpack/vectors/mapper/SparseVectorFieldMapperTests.java b/x-pack/plugin/vectors/src/test/java/org/elasticsearch/xpack/vectors/mapper/SparseVectorFieldMapperTests.java index cae94feb902e9..757bf21d7aa80 100644 --- a/x-pack/plugin/vectors/src/test/java/org/elasticsearch/xpack/vectors/mapper/SparseVectorFieldMapperTests.java +++ b/x-pack/plugin/vectors/src/test/java/org/elasticsearch/xpack/vectors/mapper/SparseVectorFieldMapperTests.java @@ -57,7 +57,7 @@ protected void minimalMapping(XContentBuilder b) throws IOException { } @Override - protected boolean allowsStore() { + protected boolean supportsStoredFields() { return false; } 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 97a2203efc183..38863cdf4da58 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 @@ -98,13 +98,13 @@ static SearchExecutionContext createMockSearchExecutionContext(boolean allowExpe static KeywordFieldMapper keywordFieldType; @Override - protected boolean allowsStore() { - return false; + protected Collection getPlugins() { + return Collections.singleton(new Wildcard()); } @Override - protected Collection getPlugins() { - return Collections.singleton(new Wildcard()); + protected boolean supportsStoredFields() { + return false; } @Override