Elasticsearch动态模板匹配几个确切的字段
我目前正在努力简化Elasticsearch的映射模板文件。事实上,我有几个Object
字段具有相同的结构(例如源和目标)Elasticsearch动态模板匹配几个确切的字段
有没有办法设置动态模板,以便它可以匹配多个模式?
这是我执行:
POST /_template/mapping-lol {
"template": "*-newevents-*",
"mappings": {
"log": {
"dynamic_templates": [
{
"system": {
"match_pattern": "regex",
"match": "^(source|destination)$",
"mapping": {
"properties": {
"name": {
"dynamic": false,
"type": "object",
"properties": {
"first": {
"type": "text"
},
"last": {
"type": "text"
}
}
},
"ip": {
"type": "ip"
}
}
}
}
}
],
"properties": {
"source": {
"type": "object",
"dynamic": true
},
"destination": {
"type": "object",
"dynamic": true
}
}
}
}
}
POST /tenant-newevents-1/log
{
"source": {
"name": {
"first": "John",
"last": "Doe"
},
"ip": "1.2.3.4"
},
"destination": {
"name": {
"first": "Jane",
"last": "Doe"
},
"ip": "3.4.5.6"
}
}
GET /tenant-newevents-1
这上面没有工作...
我有的是这些相同的方案来匹配(〜20)。
非常感谢您的帮助!
回答:
OK我发现出了什么问题:字段不能映射在所有动态映射继续。在映射工作中删除“源”和“目标”方案。
POST /_template/mapping-lol {
"template": "*-newevents-*",
"mappings": {
"log": {
"dynamic_templates": [
{
"system": {
"match_pattern": "regex",
"match": "^(source|destination)$",
"mapping": {
"properties": {
"name": {
"dynamic": false,
"type": "object",
"properties": {
"first": {
"type": "text"
},
"last": {
"type": "text"
}
}
},
"ip": {
"type": "ip"
}
}
}
}
}
],
"properties": {}
}
}
}
以上是 Elasticsearch动态模板匹配几个确切的字段 的全部内容, 来源链接: utcz.com/qa/263751.html