Closed
Description
Elastic Cloud 7.5
The lowercase
/uppercase
ingest processors (and possibly others) do currently not allow to process a field containing an array of values. Given the fact that many aspects in Elasticsearch do not make a difference between single-value fields and array-valued fields, this is a behaviour that I would have expected.
Note that this is different from #51048.
Current workaround: use foreach
processor.
POST _ingest/pipeline/_simulate
{
"pipeline": {
"processors": [
{
"lowercase": {
"field": "test"
}
}
]
},
"docs": [
{
"_source": {
"test": [ "FOO", "BAR" ]
}
}
]
}
Result:
{
"docs" : [
{
"error" : {
"root_cause" : [
{
"type" : "ingest_processor_exception",
"reason" : "java.lang.IllegalArgumentException: field [test] of type [java.util.ArrayList] cannot be cast to [java.lang.String]"
}
],
"type" : "illegal_argument_exception",
"reason" : "field [test] of type [java.util.ArrayList] cannot be cast to [java.lang.String]"
}
}
]
}