This has been driving me nuts. I've got a few arrays in my data, here is a slimmed down version:
{
"fullName": "Jane Doe",
"comments": [],
"tags": [
"blah blah tag 1",
"blah blah tag 1"
],
"contactInformation": {
"attachments": [
"some file 1",
"some file 2",
"some file 3"
]
}
}
Ok so my mappings in elasticsearch are as follows:
curl -XPOST localhost:9200/myindex -d '{
"settings" : {
"number_of_shards" : 1
},
"mappings" : {
"docs" : {
"properties" : {
“tags” : { "type" : "string", "index" : "not_analyzed" }
“attachments” : { "type" : "string", "index" : "not_analyzed" }
}
}
}
}'
Now if I display these as facets the tags appear fine, like so:
[ ] - blah blah tag 1
[ ] - blah blah tag 2
However the attachments are tokenized and I get a facet for every single word i.e.
[ ] - some
[ ] - file
[ ] - 1
I was thinking since the attachments property lives inside contactInformation, my mapping might need to look like this: “contactInformation.attachments” : { "type" : "string", "index" : "not_analyzed" }
But that threw an error, not expecting the dot.
Any ideas?