I was recently hit by the fieldname-with-dots issue in ES. I search on google but found the answer for ES 2.X version while for other version none of the option work for me.
"Note : type_name is deprecated for ES 7.0 so default type is _doc "
I use curl -XPOST localhost:9200/index_name/_doc -H "Content-Type: application/json" -d @jsondata.json to load data and get following mssg on the console.
{"error":{"root_cause":[{"type":"illegal_argument_exception","reason":"Can't merge a non object mapping [execution.command] with an object mapping [execution.command]"}],"type":"illegal_argument_exception","reason":"Can't merge a non object mapping [execution.command] with an object mapping [execution.command]"},"status":400
I tried dot_expander but didnot find anything much useful and constructive.
I don't have any control on content since content comes from nifi where i call elastic search api is there any way to deal as it is given for ES 2.X version where we can allow dot in field name.
Now the problem is execution.command.args and execution.command both contain data if i make execution.command type as object then on running it will give error what i did is :
Here you try to say that execution.command is a text. And execution.command.args is the args field inside execution.commandobject. Which would mean that execution.command should be both an object and a text field. Which is not possible.
You should rewrite your document field names in a way they are not seen as objects. Like:
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.