例如,我想为书籍和文件制作地图。这些书籍和文件有共同的标题字段,但之后它们是不同的字段。所以,我制作了动态模板(这个映射的主要原因是让一些字符串字段设置为关键字,而不是文本)。
PUT my_index
{
"mappings" : {
"my_type" : {
"properties" : {
"title" : {
"type" : "keyword"
},
"props" : {
"dynamic" : true,
"dynamic_templates": [
{
"strings": {
"match_mapping_type": "string",
"mapping": {
"type": "keyword"
}
}
}
]
}
}
}
}
}
我是这样做的,但错误随之而来。
“reason”:“无法解析映射[my_type]:未指定类型 field [道具]“,
有什么想法吗?
答案 0 :(得分:3)
动态模板是类型的根,请参阅the link
你应该像这样
{
"mappings": {
"my_type": {
"properties": {
"title": {
"type": "keyword"
}
},
"dynamic_templates": [
{
"strings": {
"path_match": "props.*",
"match_mapping_type": "string",
"mapping": {
"type": "keyword"
}
}
}
]
}
}
}