这一直让我发疯。我的数据中有一些数组,这是一个精简的版本:
{
"fullName": "Jane Doe",
"comments": [],
"tags": [
"blah blah tag 1",
"blah blah tag 1"
],
"contactInformation": {
"attachments": [
"some file 1",
"some file 2",
"some file 3"
]
}
}
好的,所以我在 elasticsearch 中的映射如下:
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" }
}
}
}
}'
现在,如果我将这些显示为构面,则标签看起来很好,如下所示:
[ ] - 等等标签 1
[ ] - 等等标签 2
然而,附件被标记化了,我得到了每个单词的一个方面,即
[ ] - 一些
[ ] - 文件
[ ] - 1
我在想,因为附件属性位于contactInformation中,我的映射可能需要如下所示:“contactInformation.attachments”:{“type”:“string”,“index”:“not_analyzed”}
但这引发了一个错误,没想到这个点。
有任何想法吗?