1515import org .apache .lucene .search .Query ;
1616import org .elasticsearch .common .Explicit ;
1717import org .elasticsearch .common .settings .Setting ;
18- import org .elasticsearch .common .settings .Settings ;
1918import org .elasticsearch .common .xcontent .support .XContentMapValues ;
2019import org .elasticsearch .index .IndexMode ;
2120import org .elasticsearch .index .IndexSettings ;
22- import org .elasticsearch .index .IndexVersion ;
2321import org .elasticsearch .index .IndexVersions ;
2422import org .elasticsearch .index .fielddata .FieldData ;
2523import org .elasticsearch .index .fielddata .FieldDataContext ;
@@ -133,46 +131,24 @@ public static class Builder extends FieldMapper.Builder {
133131 */
134132 private final Parameter <TimeSeriesParams .MetricType > metric ;
135133
136- private final IndexMode indexMode ;
137- private final IndexVersion indexCreatedVersion ;
138- private final SourceKeepMode indexSourceKeepMode ;
139-
140- public Builder (
141- String name ,
142- Settings settings ,
143- IndexMode indexMode ,
144- IndexVersion indexCreatedVersion ,
145- SourceKeepMode indexSourceKeepMode
146- ) {
147- this (
148- name ,
149- IGNORE_MALFORMED_SETTING .get (settings ),
150- COERCE_SETTING .get (settings ),
151- indexMode ,
152- indexCreatedVersion ,
153- indexSourceKeepMode
154- );
155- }
134+ private final IndexSettings indexSettings ;
156135
157- public Builder (
158- String name ,
159- boolean ignoreMalformedByDefault ,
160- boolean coerceByDefault ,
161- IndexMode indexMode ,
162- IndexVersion indexCreatedVersion ,
163- SourceKeepMode indexSourceKeepMode
164- ) {
136+ public Builder (String name , IndexSettings indexSettings ) {
165137 super (name );
166138 this .ignoreMalformed = Parameter .explicitBoolParam (
167139 "ignore_malformed" ,
168140 true ,
169141 m -> toType (m ).ignoreMalformed ,
170- ignoreMalformedByDefault
142+ IGNORE_MALFORMED_SETTING .get (indexSettings .getSettings ())
143+ );
144+ this .coerce = Parameter .explicitBoolParam (
145+ "coerce" ,
146+ true ,
147+ m -> toType (m ).coerce ,
148+ COERCE_SETTING .get (indexSettings .getSettings ())
171149 );
172- this .coerce = Parameter .explicitBoolParam ("coerce" , true , m -> toType (m ).coerce , coerceByDefault );
173- this .indexMode = indexMode ;
174150 this .indexed = Parameter .indexParam (m -> toType (m ).indexed , () -> {
175- if (indexMode == IndexMode .TIME_SERIES ) {
151+ if (indexSettings . getMode () == IndexMode .TIME_SERIES ) {
176152 var metricType = getMetric ().getValue ();
177153 return metricType != TimeSeriesParams .MetricType .COUNTER && metricType != TimeSeriesParams .MetricType .GAUGE ;
178154 } else {
@@ -190,8 +166,7 @@ public Builder(
190166 );
191167 }
192168 });
193- this .indexCreatedVersion = indexCreatedVersion ;
194- this .indexSourceKeepMode = indexSourceKeepMode ;
169+ this .indexSettings = indexSettings ;
195170 }
196171
197172 Builder scalingFactor (double scalingFactor ) {
@@ -229,17 +204,17 @@ public ScaledFloatFieldMapper build(MapperBuilderContext context) {
229204 scalingFactor .getValue (),
230205 nullValue .getValue (),
231206 metric .getValue (),
232- indexMode ,
207+ indexSettings . getMode () ,
233208 coerce .getValue ().value (),
234209 context .isSourceSynthetic ()
235210 );
236211 String offsetsFieldName = getOffsetsFieldName (
237212 context ,
238- indexSourceKeepMode ,
213+ indexSettings . sourceKeepMode () ,
239214 hasDocValues .getValue (),
240215 stored .getValue (),
241216 this ,
242- indexCreatedVersion ,
217+ indexSettings . getIndexVersionCreated () ,
243218 IndexVersions .SYNTHETIC_SOURCE_STORE_ARRAYS_NATIVELY_SCALED_FLOAT
244219 );
245220 return new ScaledFloatFieldMapper (
@@ -253,15 +228,7 @@ public ScaledFloatFieldMapper build(MapperBuilderContext context) {
253228 }
254229 }
255230
256- public static final TypeParser PARSER = new TypeParser (
257- (n , c ) -> new Builder (
258- n ,
259- c .getSettings (),
260- c .getIndexSettings ().getMode (),
261- c .indexVersionCreated (),
262- c .getIndexSettings ().sourceKeepMode ()
263- )
264- );
231+ public static final TypeParser PARSER = new TypeParser ((n , c ) -> new Builder (n , c .getIndexSettings ()));
265232
266233 public static final class ScaledFloatFieldType extends SimpleMappedFieldType {
267234
@@ -595,15 +562,10 @@ public String toString() {
595562 private final Double nullValue ;
596563 private final double scalingFactor ;
597564 private final boolean isSourceSynthetic ;
598-
599- private final boolean ignoreMalformedByDefault ;
600- private final boolean coerceByDefault ;
601565 private final TimeSeriesParams .MetricType metricType ;
602- private final IndexMode indexMode ;
603-
604- private final IndexVersion indexCreatedVersion ;
605566 private final String offsetsFieldName ;
606- private final SourceKeepMode indexSourceKeepMode ;
567+
568+ private final IndexSettings indexSettings ;
607569
608570 private ScaledFloatFieldMapper (
609571 String simpleName ,
@@ -622,13 +584,9 @@ private ScaledFloatFieldMapper(
622584 this .nullValue = builder .nullValue .getValue ();
623585 this .ignoreMalformed = builder .ignoreMalformed .getValue ();
624586 this .coerce = builder .coerce .getValue ();
625- this .ignoreMalformedByDefault = builder .ignoreMalformed .getDefaultValue ().value ();
626- this .coerceByDefault = builder .coerce .getDefaultValue ().value ();
587+ this .indexSettings = builder .indexSettings ;
627588 this .metricType = builder .metric .getValue ();
628- this .indexMode = builder .indexMode ;
629- this .indexCreatedVersion = builder .indexCreatedVersion ;
630589 this .offsetsFieldName = offsetsFieldName ;
631- this .indexSourceKeepMode = builder .indexSourceKeepMode ;
632590 }
633591
634592 boolean coerce () {
@@ -657,9 +615,7 @@ protected String contentType() {
657615
658616 @ Override
659617 public FieldMapper .Builder getMergeBuilder () {
660- return new Builder (leafName (), ignoreMalformedByDefault , coerceByDefault , indexMode , indexCreatedVersion , indexSourceKeepMode )
661- .metric (metricType )
662- .init (this );
618+ return new Builder (leafName (), indexSettings ).metric (metricType ).init (this );
663619 }
664620
665621 @ Override
0 commit comments