Skip to content

Commit e96297a

Browse files
martijnvgrjernst
authored andcommitted
Text field dynamic field tweak (elastic#129332)
Pass down actual index version when creating text field mapper builder when mapping dynamic field. Otherwise, bwc logic always has the wrong index version in mixed cluster scenario and dynamic mapping occurs.
1 parent a654a33 commit e96297a

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

server/src/main/java/org/elasticsearch/index/mapper/DynamicFieldsBuilder.java

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -334,11 +334,17 @@ public boolean newDynamicStringField(DocumentParserContext context, String name)
334334
mapperBuilderContext
335335
);
336336
} else {
337+
var indexSettings = context.indexSettings();
337338
return createDynamicField(
338-
new TextFieldMapper.Builder(name, context.indexAnalyzers(), SourceFieldMapper.isSynthetic(context.indexSettings()))
339-
.addMultiField(
340-
new KeywordFieldMapper.Builder("keyword", context.indexSettings().getIndexVersionCreated()).ignoreAbove(256)
341-
),
339+
new TextFieldMapper.Builder(
340+
name,
341+
indexSettings.getIndexVersionCreated(),
342+
context.indexAnalyzers(),
343+
SourceFieldMapper.isSynthetic(indexSettings),
344+
false
345+
).addMultiField(
346+
new KeywordFieldMapper.Builder("keyword", context.indexSettings().getIndexVersionCreated()).ignoreAbove(256)
347+
),
342348
context
343349
);
344350
}

0 commit comments

Comments
 (0)