我对弹性训练很陌生,为了我自己的学习前景,我试图完成一些小任务。我参考https://www.elastic.co/guide/en/elasticsearch/reference/current/dynamic-templates.html链接来创建一个动态模板;但是,在运行下面提到的查询时,我得到了"type“:"mapper_parsing_exception",”理由“:”根映射定义有不支持的参数: error“。
有人能帮我解决这个错误吗?看来我还没有在合适的地方定义我的模板名。
PUT e_review_dynamictemplate
{
"mappings": {
"date_detection": true,
"dynamic_date_formats": ["dd/MM/yyyy"],
"numeric_detection": true,
"My_dynamic_templates": [
{
"e_full_name": {
"path_match": "*_Name",
"mapping": {
"type": "text",
"copy_to": "e_full_name",
"norms": false
}
},
"integers": {
"match_mapping_type": "long",
"mapping": {
"type": "integer",
"index": false
}
},
"strings": {
"match_mapping_type": "string",
"match": "Achievements:*",
"unmatch": "Improvements:*",
"mapping": {
"type": "long"
}
}
}
]
}
}提前感谢!尼维地塔
发布于 2022-01-04 12:57:24
您刚刚错过了dynamic_templates对象中的mappings属性。您只需用My_dynamic_templates替换dynamic_templates即可。
自定义名称在dynamic_templates数组中的模板定义中使用。
以下是更正后的片段:
PUT e_review_dynamictemplate
{
"mappings": {
"date_detection": true,
"dynamic_date_formats": [
"dd/MM/yyyy"
],
"numeric_detection": true,
"dynamic_templates": [
{
"e_full_name": {
"path_match": "*_Name",
"mapping": {
"type": "text",
"copy_to": "e_full_name",
"norms": false
}
}
},
{
"integers": {
"match_mapping_type": "long",
"mapping": {
"type": "integer",
"index": false
}
}
},
{
"strings": {
"match_mapping_type": "string",
"match": "Achievements:*",
"unmatch": "Improvements:*",
"mapping": {
"type": "long"
}
}
}
]
}
}https://stackoverflow.com/questions/70576889
复制相似问题