4141
4242import java .io .IOException ;
4343import java .io .UncheckedIOException ;
44- import java .util .Arrays ;
4544import java .util .Collections ;
4645import java .util .List ;
4746import java .util .Map ;
@@ -72,10 +71,6 @@ public static class Defaults {
7271
7372 }
7473
75- private static Builder builder (FieldMapper in ) {
76- return ((MatchOnlyTextFieldMapper ) in ).builder ;
77- }
78-
7974 public static class Builder extends FieldMapper .Builder {
8075
8176 private final Version indexCreatedVersion ;
@@ -91,37 +86,30 @@ public Builder(String name, IndexAnalyzers indexAnalyzers) {
9186 public Builder (String name , Version indexCreatedVersion , IndexAnalyzers indexAnalyzers ) {
9287 super (name );
9388 this .indexCreatedVersion = indexCreatedVersion ;
94- this .analyzers = new TextParams .Analyzers (indexAnalyzers , m -> builder (m ).analyzers );
95- }
96-
97- public Builder addMultiField (FieldMapper .Builder builder ) {
98- this .multiFieldsBuilder .add (builder );
99- return this ;
89+ this .analyzers = new TextParams .Analyzers (indexAnalyzers , m -> ((MatchOnlyTextFieldMapper ) m ).analyzers );
10090 }
10191
10292 @ Override
10393 protected List <Parameter <?>> getParameters () {
104- return Arrays . asList (meta );
94+ return org . elasticsearch . core . List . of (meta );
10595 }
10696
107- private MatchOnlyTextFieldType buildFieldType (FieldType fieldType , ContentPath contentPath ) {
97+ private MatchOnlyTextFieldType buildFieldType (ContentPath contentPath ) {
10898 NamedAnalyzer searchAnalyzer = analyzers .getSearchAnalyzer ();
10999 NamedAnalyzer searchQuoteAnalyzer = analyzers .getSearchQuoteAnalyzer ();
110100 NamedAnalyzer indexAnalyzer = analyzers .getIndexAnalyzer ();
111- TextSearchInfo tsi = new TextSearchInfo (fieldType , null , searchAnalyzer , searchQuoteAnalyzer );
112- MatchOnlyTextFieldType ft = new MatchOnlyTextFieldType (buildFullName (contentPath ), tsi , indexAnalyzer , meta .getValue ());
113- return ft ;
101+ TextSearchInfo tsi = new TextSearchInfo (Defaults .FIELD_TYPE , null , searchAnalyzer , searchQuoteAnalyzer );
102+ return new MatchOnlyTextFieldType (buildFullName (contentPath ), tsi , indexAnalyzer , meta .getValue ());
114103 }
115104
116105 @ Override
117106 public MatchOnlyTextFieldMapper build (ContentPath contentPath ) {
118- MatchOnlyTextFieldType tft = buildFieldType (Defaults . FIELD_TYPE , contentPath );
107+ MatchOnlyTextFieldType tft = buildFieldType (contentPath );
119108 MultiFields multiFields = multiFieldsBuilder .build (this , contentPath );
120109 return new MatchOnlyTextFieldMapper (
121110 name ,
122111 Defaults .FIELD_TYPE ,
123112 tft ,
124- analyzers .getIndexAnalyzer (),
125113 multiFields ,
126114 copyTo .build (),
127115 this
@@ -142,19 +130,6 @@ public MatchOnlyTextFieldType(String name, TextSearchInfo tsi, Analyzer indexAna
142130 this .textFieldType = new TextFieldType (name );
143131 }
144132
145- public MatchOnlyTextFieldType (String name , boolean stored , Map <String , String > meta ) {
146- super (
147- name ,
148- true ,
149- stored ,
150- false ,
151- new TextSearchInfo (Defaults .FIELD_TYPE , null , Lucene .STANDARD_ANALYZER , Lucene .STANDARD_ANALYZER ),
152- meta
153- );
154- this .indexAnalyzer = Lucene .STANDARD_ANALYZER ;
155- this .textFieldType = new TextFieldType (name );
156- }
157-
158133 public MatchOnlyTextFieldType (String name ) {
159134 this (
160135 name ,
@@ -292,28 +267,29 @@ public IndexFieldData.Builder fielddataBuilder(String fullyQualifiedIndexName, S
292267
293268 }
294269
295- private final Builder builder ;
270+ private final Version indexCreatedVersion ;
271+ private final TextParams .Analyzers analyzers ;
296272 private final FieldType fieldType ;
297273
298274 private MatchOnlyTextFieldMapper (
299275 String simpleName ,
300276 FieldType fieldType ,
301277 MatchOnlyTextFieldType mappedFieldType ,
302- NamedAnalyzer indexAnalyzer ,
303278 MultiFields multiFields ,
304279 CopyTo copyTo ,
305280 Builder builder
306281 ) {
307- super (simpleName , mappedFieldType , indexAnalyzer , multiFields , copyTo );
282+ super (simpleName , mappedFieldType , builder . analyzers . getIndexAnalyzer () , multiFields , copyTo );
308283 assert mappedFieldType .getTextSearchInfo ().isTokenized ();
309284 assert mappedFieldType .hasDocValues () == false ;
310285 this .fieldType = fieldType ;
311- this .builder = builder ;
286+ this .indexCreatedVersion = builder .indexCreatedVersion ;
287+ this .analyzers = builder .analyzers ;
312288 }
313289
314290 @ Override
315291 public FieldMapper .Builder getMergeBuilder () {
316- return new Builder (simpleName (), builder . indexCreatedVersion , builder . analyzers .indexAnalyzers ).init (this );
292+ return new Builder (simpleName (), indexCreatedVersion , analyzers .indexAnalyzers ).init (this );
317293 }
318294
319295 @ Override
0 commit comments