In v5.5, we had the following mapping which was working fine
PUT multiple_datatypes
{
"mappings": {
"_doc": {
"properties": {
"user_data": {
"type": "text",
"fields": {
"numeric": {
"type": "double",
"ignore_malformed": true
},
"date": {
"type": "date",
"ignore_malformed": true
}
"logical": {
"type": "boolean",
}
}
}
}
}
}
In 6.2, the same mapping fails with the error
HTTP/1.1 400 Bad Request]\n{\"error\":{\"root_cause\":[{\"type\":\"mapper_parsing_exception\",\"reason\":\"failed to parse [user_data.logical]\"}],\"type\":\"mapper_parsing_exception\",\"reason\":\"failed to parse [user_data.logical]\",\"caused_by\":{\"type\":\"illegal_argument_exception\",\"reason\":\"Failed to parse value [auto_directorUrl] as only [true] or [false] are
The input data was a string, "auto_directorURL" and it failed. The ignore_malformed flag is not available for boolean types. However, this worked in
v5.5. I find that in v6.2, ES has strictly enforced boolean type values as 'true' or 'false'. but this fails in multi-fields as it does not have a ignore_malformed flag.
what is the solution for this? Is this a BWC break and a bug