Skip to content

Commit 6f8b187

Browse files
committed
Improved msg
1 parent cd341e6 commit 6f8b187

File tree

3 files changed

+38
-47
lines changed

3 files changed

+38
-47
lines changed

server/src/main/java/org/elasticsearch/index/mapper/flattened/FlattenedFieldMapper.java

Lines changed: 9 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,7 @@
3838
import org.elasticsearch.common.unit.Fuzziness;
3939
import org.elasticsearch.common.util.BigArrays;
4040
import org.elasticsearch.core.Nullable;
41-
import org.elasticsearch.index.IndexMode;
4241
import org.elasticsearch.index.IndexSettings;
43-
import org.elasticsearch.index.IndexVersion;
4442
import org.elasticsearch.index.analysis.NamedAnalyzer;
4543
import org.elasticsearch.index.fielddata.FieldData;
4644
import org.elasticsearch.index.fielddata.FieldDataContext;
@@ -85,6 +83,8 @@
8583
import java.util.Set;
8684
import java.util.function.Function;
8785

86+
import static org.elasticsearch.index.IndexSettings.IGNORE_ABOVE_SETTING;
87+
8888
/**
8989
* A field mapper that accepts a JSON object and flattens it into a single field. This data type
9090
* can be a useful alternative to an 'object' mapping when the object has a large, unknown set
@@ -152,6 +152,7 @@ public static class Builder extends FieldMapper.Builder {
152152
m -> builder(m).eagerGlobalOrdinals.get(),
153153
false
154154
);
155+
private final int ignoreAboveDefault;
155156
private final Parameter<Integer> ignoreAbove;
156157

157158
private final Parameter<String> indexOptions = TextParams.keywordIndexOptions(m -> builder(m).indexOptions.get());
@@ -179,25 +180,18 @@ public static class Builder extends FieldMapper.Builder {
179180

180181
private final Parameter<Map<String, String>> meta = Parameter.metaParam();
181182

182-
private final IndexMode indexMode;
183-
private final IndexVersion indexCreatedVersion;
184-
185183
public static FieldMapper.Parameter<List<String>> dimensionsParam(Function<FieldMapper, List<String>> initializer) {
186184
return FieldMapper.Parameter.stringArrayParam(TIME_SERIES_DIMENSIONS_ARRAY_PARAM, false, initializer);
187185
}
188186

189187
public Builder(final String name) {
190-
this(name, IndexMode.STANDARD, IndexVersion.current());
188+
this(name, IndexSettings.IGNORE_ABOVE_DEFAULT_STANDARD_INDICES);
191189
}
192190

193-
private Builder(String name, IndexMode indexMode, IndexVersion indexCreatedVersion) {
191+
private Builder(String name, int ignoreAboveDefault) {
194192
super(name);
195-
this.indexMode = indexMode;
196-
this.indexCreatedVersion = indexCreatedVersion;
197-
this.ignoreAbove = Parameter.ignoreAboveParam(
198-
m -> builder(m).ignoreAbove.get(),
199-
IndexSettings.getIgnoreAboveDefaultValue(indexMode, indexCreatedVersion)
200-
);
193+
this.ignoreAboveDefault = ignoreAboveDefault;
194+
this.ignoreAbove = Parameter.ignoreAboveParam(m -> builder(m).ignoreAbove.get(), ignoreAboveDefault);
201195
this.dimensions.precludesParameters(ignoreAbove);
202196
}
203197

@@ -240,9 +234,7 @@ public FlattenedFieldMapper build(MapperBuilderContext context) {
240234
}
241235
}
242236

243-
public static final TypeParser PARSER = new TypeParser(
244-
(n, c) -> new Builder(n, c.getIndexSettings().getMode(), c.indexVersionCreated())
245-
);
237+
public static final TypeParser PARSER = new TypeParser((n, c) -> new Builder(n, IGNORE_ABOVE_SETTING.get(c.getSettings())));
246238

247239
/**
248240
* A field type that represents the values under a particular JSON key, used
@@ -901,7 +893,7 @@ protected void parseCreateField(DocumentParserContext context) throws IOExceptio
901893

902894
@Override
903895
public FieldMapper.Builder getMergeBuilder() {
904-
return new Builder(leafName(), builder.indexMode, builder.indexCreatedVersion).init(this);
896+
return new Builder(leafName(), builder.ignoreAboveDefault).init(this);
905897
}
906898

907899
@Override

server/src/test/java/org/elasticsearch/index/mapper/KeywordFieldTypeTests.java

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
package org.elasticsearch.index.mapper;
1010

1111
import com.carrotsearch.randomizedtesting.generators.RandomStrings;
12+
1213
import org.apache.lucene.analysis.Analyzer;
1314
import org.apache.lucene.analysis.LowerCaseFilter;
1415
import org.apache.lucene.analysis.TokenFilter;
@@ -460,12 +461,12 @@ public void test_isIgnoreAboveSet_returns_true_when_ignore_above_is_given_as_log
460461
public void test_isIgnoreAboveSet_returns_false_when_ignore_above_is_configured_at_index_level() {
461462
// given
462463
Settings settings = Settings.builder()
463-
.put(IndexMetadata.SETTING_VERSION_CREATED, IndexVersion.current())
464-
.put(IndexSettings.MODE.getKey(), IndexMode.STANDARD)
465-
.put(IndexMetadata.SETTING_NUMBER_OF_SHARDS, 1)
466-
.put(IndexMetadata.SETTING_NUMBER_OF_REPLICAS, 1)
467-
.put(IndexSettings.IGNORE_ABOVE_SETTING.getKey(), 123)
468-
.build();
464+
.put(IndexMetadata.SETTING_VERSION_CREATED, IndexVersion.current())
465+
.put(IndexSettings.MODE.getKey(), IndexMode.STANDARD)
466+
.put(IndexMetadata.SETTING_NUMBER_OF_SHARDS, 1)
467+
.put(IndexMetadata.SETTING_NUMBER_OF_REPLICAS, 1)
468+
.put(IndexSettings.IGNORE_ABOVE_SETTING.getKey(), 123)
469+
.build();
469470
IndexSettings indexSettings = new IndexSettings(IndexMetadata.builder("index").settings(settings).build(), settings);
470471
MappingParserContext mappingParserContext = mock(MappingParserContext.class);
471472
doReturn(settings).when(mappingParserContext).getSettings();
@@ -475,13 +476,13 @@ public void test_isIgnoreAboveSet_returns_false_when_ignore_above_is_configured_
475476
KeywordFieldMapper.Builder builder = new KeywordFieldMapper.Builder("field", mappingParserContext);
476477

477478
KeywordFieldMapper.KeywordFieldType fieldType = new KeywordFieldMapper.KeywordFieldType(
478-
"field",
479-
mock(FieldType.class),
480-
mock(NamedAnalyzer.class),
481-
mock(NamedAnalyzer.class),
482-
mock(NamedAnalyzer.class),
483-
builder,
484-
true
479+
"field",
480+
mock(FieldType.class),
481+
mock(NamedAnalyzer.class),
482+
mock(NamedAnalyzer.class),
483+
mock(NamedAnalyzer.class),
484+
builder,
485+
true
485486
);
486487

487488
// when/then

x-pack/plugin/wildcard/src/main/java/org/elasticsearch/xpack/wildcard/mapper/WildcardFieldMapper.java

Lines changed: 15 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,6 @@
5151
import org.elasticsearch.common.time.DateMathParser;
5252
import org.elasticsearch.common.unit.Fuzziness;
5353
import org.elasticsearch.core.Nullable;
54-
import org.elasticsearch.index.IndexMode;
5554
import org.elasticsearch.index.IndexSettings;
5655
import org.elasticsearch.index.IndexVersion;
5756
import org.elasticsearch.index.IndexVersions;
@@ -93,6 +92,8 @@
9392
import java.util.Set;
9493
import java.util.TreeSet;
9594

95+
import static org.elasticsearch.index.IndexSettings.IGNORE_ABOVE_SETTING;
96+
9697
/**
9798
* A {@link FieldMapper} for indexing fields with ngrams for efficient wildcard matching
9899
*/
@@ -211,21 +212,18 @@ public static class Builder extends FieldMapper.Builder {
211212

212213
final Parameter<Map<String, String>> meta = Parameter.metaParam();
213214

214-
final IndexMode indexMode;
215-
final IndexVersion indexVersionCreated;
215+
final IndexVersion indexCreatedVersion;
216+
final int ignoreAboveDefault;
216217

217218
public Builder(final String name, IndexVersion indexVersionCreated) {
218-
this(name, IndexMode.STANDARD, indexVersionCreated);
219+
this(name, IndexSettings.IGNORE_ABOVE_DEFAULT_STANDARD_INDICES, indexVersionCreated);
219220
}
220221

221-
private Builder(String name, IndexMode indexMode, IndexVersion indexVersionCreated) {
222+
private Builder(String name, int ignoreAboveDefault, IndexVersion indexCreatedVersion) {
222223
super(name);
223-
this.indexVersionCreated = indexVersionCreated;
224-
this.indexMode = indexMode;
225-
this.ignoreAbove = Parameter.ignoreAboveParam(
226-
m -> toType(m).ignoreAbove,
227-
IndexSettings.getIgnoreAboveDefaultValue(indexMode, indexVersionCreated)
228-
);
224+
this.indexCreatedVersion = indexCreatedVersion;
225+
this.ignoreAboveDefault = ignoreAboveDefault;
226+
this.ignoreAbove = Parameter.ignoreAboveParam(m -> toType(m).ignoreAbove, ignoreAboveDefault);
229227
}
230228

231229
@Override
@@ -247,17 +245,17 @@ Builder nullValue(String nullValue) {
247245
public WildcardFieldMapper build(MapperBuilderContext context) {
248246
return new WildcardFieldMapper(
249247
leafName(),
250-
new WildcardFieldType(context.buildFullName(leafName()), indexVersionCreated, meta.get(), this),
248+
new WildcardFieldType(context.buildFullName(leafName()), indexCreatedVersion, meta.get(), this),
251249
context.isSourceSynthetic(),
252250
builderParams(this, context),
253-
indexVersionCreated,
251+
indexCreatedVersion,
254252
this
255253
);
256254
}
257255
}
258256

259257
public static final TypeParser PARSER = new TypeParser(
260-
(n, c) -> new Builder(n, c.getIndexSettings().getMode(), c.indexVersionCreated())
258+
(n, c) -> new Builder(n, IGNORE_ABOVE_SETTING.get(c.getSettings()), c.indexVersionCreated())
261259
);
262260

263261
public static final char TOKEN_START_OR_END_CHAR = 0;
@@ -998,10 +996,10 @@ protected String parseSourceValue(Object value) {
998996
assert NGRAM_FIELD_TYPE.indexOptions() == IndexOptions.DOCS;
999997
}
1000998
private final String nullValue;
1001-
private final IndexMode indexMode;
1002999
private final IndexVersion indexVersionCreated;
10031000

10041001
private final int ignoreAbove;
1002+
private final int ignoreAboveDefault;
10051003
private final boolean storeIgnored;
10061004
private final String originalName;
10071005

@@ -1016,9 +1014,9 @@ private WildcardFieldMapper(
10161014
super(simpleName, mappedFieldType, builderParams);
10171015
this.nullValue = builder.nullValue.getValue();
10181016
this.storeIgnored = storeIgnored;
1019-
this.indexMode = builder.indexMode;
10201017
this.indexVersionCreated = indexVersionCreated;
10211018
this.ignoreAbove = builder.ignoreAbove.getValue();
1019+
this.ignoreAboveDefault = builder.ignoreAboveDefault;
10221020
this.originalName = storeIgnored ? fullPath() + "._original" : null;
10231021
}
10241022

@@ -1094,7 +1092,7 @@ protected String contentType() {
10941092

10951093
@Override
10961094
public FieldMapper.Builder getMergeBuilder() {
1097-
return new Builder(leafName(), indexMode, indexVersionCreated).init(this);
1095+
return new Builder(leafName(), ignoreAboveDefault, indexVersionCreated).init(this);
10981096
}
10991097

11001098
@Override

0 commit comments

Comments
 (0)