I'm getting the following error message when bulk-indexing into a new index:
[2020-10-06T00:00:00,977][DEBUG][o.e.a.b.TransportShardBulkAction] [my-node] [my-idx][1] failed to execute bulk item (index) index
{[my-idx][_doc][_6I1-3QBQJIIxJ9GL0C8], source[n/a, actual length: [2.1kb], max length: 2kb]}
java.lang.IllegalArgumentException: mapper [additional_fields] of different type, current_type [keyword], merged_type [text]
I have a dynamic template mapping on this index that should cause this field to be text, but I am confused as to how I'm getting this error in the first place. If the data is coming in as a JSON String, shouldn't elasticsearch treat that as correct, regardless of whether that mapping is keyword
or text
? I don't understand what is causing elasticsearch to think that this field might want to be a keyword.