I have a field which is a 3d array, and don't want ES to index it.
The problem is how to write its type in mapping? Should I use {index: false} or {enabled: false}?
You can use enabled only at the mapping type level (i.e. for the whole type) or for object types.
Since you have an array, you simply need to use index: false instead.
The field can simply have a type text (+ keyword if you need exact matches) since the array will be flattened:
"my_field": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
}