@@ -106,10 +106,6 @@ public static class Defaults {
106
106
public static final int POSITION_INCREMENT_GAP = 100 ;
107
107
}
108
108
109
- private static Builder builder (FieldMapper in ) {
110
- return ((TextFieldMapper ) in ).builder ;
111
- }
112
-
113
109
private static final class PrefixConfig implements ToXContent {
114
110
final int minChars ;
115
111
final int maxChars ;
@@ -229,27 +225,26 @@ public static class Builder extends FieldMapper.Builder {
229
225
230
226
private final Version indexCreatedVersion ;
231
227
232
- private final Parameter <Boolean > index = Parameter .indexParam (m -> builder ( m ).index . getValue () , true );
233
- private final Parameter <Boolean > store = Parameter .storeParam (m -> builder ( m ).store . getValue () , false );
228
+ private final Parameter <Boolean > index = Parameter .indexParam (m -> (( TextFieldMapper ) m ).index , true );
229
+ private final Parameter <Boolean > store = Parameter .storeParam (m -> (( TextFieldMapper ) m ).store , false );
234
230
235
- final Parameter <SimilarityProvider > similarity
236
- = TextParams .similarity (m -> builder (m ).similarity .getValue ());
231
+ final Parameter <SimilarityProvider > similarity = TextParams .similarity (m -> ((TextFieldMapper ) m ).similarity );
237
232
238
- final Parameter <String > indexOptions = TextParams .indexOptions (m -> builder ( m ).indexOptions . getValue () );
239
- final Parameter <Boolean > norms = TextParams .norms (true , m -> builder ( m ).norms . getValue () );
240
- final Parameter <String > termVectors = TextParams .termVectors (m -> builder ( m ).termVectors . getValue () );
233
+ final Parameter <String > indexOptions = TextParams .indexOptions (m -> (( TextFieldMapper ) m ).indexOptions );
234
+ final Parameter <Boolean > norms = TextParams .norms (true , m -> (( TextFieldMapper ) m ).norms );
235
+ final Parameter <String > termVectors = TextParams .termVectors (m -> (( TextFieldMapper ) m ).termVectors );
241
236
242
237
final Parameter <Boolean > fieldData
243
- = Parameter .boolParam ("fielddata" , true , m -> builder ( m ).fieldData . getValue () , false );
238
+ = Parameter .boolParam ("fielddata" , true , m -> (( TextFieldMapper ) m ).fieldData , false );
244
239
final Parameter <FielddataFrequencyFilter > freqFilter = new Parameter <>("fielddata_frequency_filter" , true ,
245
- () -> DEFAULT_FILTER , TextFieldMapper ::parseFrequencyFilter , m -> builder ( m ).freqFilter . getValue () );
240
+ () -> DEFAULT_FILTER , TextFieldMapper ::parseFrequencyFilter , m -> (( TextFieldMapper ) m ).freqFilter );
246
241
final Parameter <Boolean > eagerGlobalOrdinals
247
- = Parameter .boolParam ("eager_global_ordinals" , true , m -> builder ( m ).eagerGlobalOrdinals . getValue () , false );
242
+ = Parameter .boolParam ("eager_global_ordinals" , true , m -> (( TextFieldMapper ) m ).eagerGlobalOrdinals , false );
248
243
249
244
final Parameter <Boolean > indexPhrases
250
- = Parameter .boolParam ("index_phrases" , false , m -> builder ( m ).indexPhrases . getValue () , false );
245
+ = Parameter .boolParam ("index_phrases" , false , m -> (( TextFieldMapper ) m ).indexPhrases , false );
251
246
final Parameter <PrefixConfig > indexPrefixes = new Parameter <>("index_prefixes" , false ,
252
- () -> null , TextFieldMapper ::parsePrefixConfig , m -> builder ( m ).indexPrefixes . getValue () ).acceptsNull ();
247
+ () -> null , TextFieldMapper ::parsePrefixConfig , m -> (( TextFieldMapper ) m ).indexPrefixes ).acceptsNull ();
253
248
254
249
private final Parameter <Float > boost = Parameter .boostParam ();
255
250
private final Parameter <Map <String , String >> meta = Parameter .metaParam ();
@@ -263,7 +258,11 @@ public Builder(String name, IndexAnalyzers indexAnalyzers) {
263
258
public Builder (String name , Version indexCreatedVersion , IndexAnalyzers indexAnalyzers ) {
264
259
super (name );
265
260
this .indexCreatedVersion = indexCreatedVersion ;
266
- this .analyzers = new TextParams .Analyzers (indexAnalyzers , m -> builder (m ).analyzers );
261
+ this .analyzers = new TextParams .Analyzers (
262
+ indexAnalyzers ,
263
+ m -> ((TextFieldMapper ) m ).indexAnalyzer ,
264
+ m -> (((TextFieldMapper ) m ).positionIncrementGap )
265
+ );
267
266
}
268
267
269
268
public Builder index (boolean index ) {
@@ -825,7 +824,21 @@ public IndexFieldData.Builder fielddataBuilder(String fullyQualifiedIndexName, S
825
824
826
825
}
827
826
828
- private final Builder builder ;
827
+ private final Version indexCreatedVersion ;
828
+ private final boolean index ;
829
+ private final boolean store ;
830
+ private final String indexOptions ;
831
+ private final boolean norms ;
832
+ private final String termVectors ;
833
+ private final SimilarityProvider similarity ;
834
+ private final NamedAnalyzer indexAnalyzer ;
835
+ private final IndexAnalyzers indexAnalyzers ;
836
+ private final int positionIncrementGap ;
837
+ private final boolean eagerGlobalOrdinals ;
838
+ private final PrefixConfig indexPrefixes ;
839
+ private final FielddataFrequencyFilter freqFilter ;
840
+ private final boolean fieldData ;
841
+ private final boolean indexPhrases ;
829
842
private final FieldType fieldType ;
830
843
private final SubFieldInfo prefixFieldInfo ;
831
844
private final SubFieldInfo phraseFieldInfo ;
@@ -845,12 +858,26 @@ protected TextFieldMapper(String simpleName, FieldType fieldType,
845
858
this .fieldType = fieldType ;
846
859
this .prefixFieldInfo = prefixFieldInfo ;
847
860
this .phraseFieldInfo = phraseFieldInfo ;
848
- this .builder = builder ;
861
+ this .indexCreatedVersion = builder .indexCreatedVersion ;
862
+ this .indexAnalyzer = builder .analyzers .getIndexAnalyzer ();
863
+ this .indexAnalyzers = builder .analyzers .indexAnalyzers ;
864
+ this .positionIncrementGap = builder .analyzers .positionIncrementGap .getValue ();
865
+ this .index = builder .index .getValue ();
866
+ this .store = builder .store .getValue ();
867
+ this .similarity = builder .similarity .getValue ();
868
+ this .indexOptions = builder .indexOptions .getValue ();
869
+ this .norms = builder .norms .getValue ();
870
+ this .termVectors = builder .termVectors .getValue ();
871
+ this .eagerGlobalOrdinals = builder .eagerGlobalOrdinals .getValue ();
872
+ this .indexPrefixes = builder .indexPrefixes .getValue ();
873
+ this .freqFilter = builder .freqFilter .getValue ();
874
+ this .fieldData = builder .fieldData .get ();
875
+ this .indexPhrases = builder .indexPhrases .getValue ();
849
876
}
850
877
851
878
@ Override
852
879
public FieldMapper .Builder getMergeBuilder () {
853
- return new Builder (simpleName (), builder . indexCreatedVersion , builder . analyzers . indexAnalyzers ).init (this );
880
+ return new Builder (simpleName (), indexCreatedVersion , indexAnalyzers ).init (this );
854
881
}
855
882
856
883
@ Override
@@ -1008,24 +1035,26 @@ protected void doXContentBody(XContentBuilder builder, Params params) throws IOE
1008
1035
// this is a pain, but we have to do this to maintain BWC
1009
1036
boolean includeDefaults = params .paramAsBoolean ("include_defaults" , false );
1010
1037
builder .field ("type" , contentType ());
1011
- this .builder .boost .toXContent (builder , includeDefaults );
1012
- this .builder .index .toXContent (builder , includeDefaults );
1013
- this .builder .store .toXContent (builder , includeDefaults );
1038
+
1039
+ final Builder b = (Builder ) getMergeBuilder ();
1040
+ b .boost .toXContent (builder , includeDefaults );
1041
+ b .index .toXContent (builder , includeDefaults );
1042
+ b .store .toXContent (builder , includeDefaults );
1014
1043
this .multiFields .toXContent (builder , params );
1015
1044
this .copyTo .toXContent (builder , params );
1016
- this . builder .meta .toXContent (builder , includeDefaults );
1017
- this . builder .indexOptions .toXContent (builder , includeDefaults );
1018
- this . builder .termVectors .toXContent (builder , includeDefaults );
1019
- this . builder .norms .toXContent (builder , includeDefaults );
1020
- this . builder .analyzers .indexAnalyzer .toXContent (builder , includeDefaults );
1021
- this . builder .analyzers .searchAnalyzer .toXContent (builder , includeDefaults );
1022
- this . builder .analyzers .searchQuoteAnalyzer .toXContent (builder , includeDefaults );
1023
- this . builder .similarity .toXContent (builder , includeDefaults );
1024
- this . builder .eagerGlobalOrdinals .toXContent (builder , includeDefaults );
1025
- this . builder .analyzers .positionIncrementGap .toXContent (builder , includeDefaults );
1026
- this . builder .fieldData .toXContent (builder , includeDefaults );
1027
- this . builder .freqFilter .toXContent (builder , includeDefaults );
1028
- this . builder .indexPrefixes .toXContent (builder , includeDefaults );
1029
- this . builder .indexPhrases .toXContent (builder , includeDefaults );
1045
+ b .meta .toXContent (builder , includeDefaults );
1046
+ b .indexOptions .toXContent (builder , includeDefaults );
1047
+ b .termVectors .toXContent (builder , includeDefaults );
1048
+ b .norms .toXContent (builder , includeDefaults );
1049
+ b .analyzers .indexAnalyzer .toXContent (builder , includeDefaults );
1050
+ b .analyzers .searchAnalyzer .toXContent (builder , includeDefaults );
1051
+ b .analyzers .searchQuoteAnalyzer .toXContent (builder , includeDefaults );
1052
+ b .similarity .toXContent (builder , includeDefaults );
1053
+ b .eagerGlobalOrdinals .toXContent (builder , includeDefaults );
1054
+ b .analyzers .positionIncrementGap .toXContent (builder , includeDefaults );
1055
+ b .fieldData .toXContent (builder , includeDefaults );
1056
+ b .freqFilter .toXContent (builder , includeDefaults );
1057
+ b .indexPrefixes .toXContent (builder , includeDefaults );
1058
+ b .indexPhrases .toXContent (builder , includeDefaults );
1030
1059
}
1031
1060
}
0 commit comments