We run an elastic cloud setup. I can not get ES to accept a new index template, which I submit from the built-in Console. The basic error message is that there are syntax errors. But I have been careful to use syntax according to https://www.elastic.co/guide/en/elasticsearch/reference/5.0/dynamic-templates.html
Example ES error message after I put the index template:
{
"error": {
"root_cause": [
{
"type": "illegal_argument_exception",
"reason": "unknown setting [index.hkl-logstash.mappings.default.dynamic_templates.0.message_field.mapping.type] please check that any required plugins are installed, or check the breaking changes documentation for removed settings"
}
],
"type": "illegal_argument_exception",
"reason": "unknown setting [index.hkl-logstash.mappings.default.dynamic_templates.0.message_field.mapping.type] please check that any required plugins are installed, or check the breaking changes documentation for removed settings"
},
"status": 400
}
My index template just use "type": "text" in a dynamic template. This should be supported.
Console input:
PUT /_template
{
"hkl-logstash": {
"order": 1,
"template": "logstash-2016.12.14",
"version": 11,
"settings": {
"index": {
"refresh_interval": "2s"
}
},
"mappings": {
"default": {
"dynamic_templates": [
{
"message_field": {
"mapping": {
"type": "text"
},
"match_mapping_type": "string",
"match": "message"
}
},
{
"string_fields": {
"mapping": {
"type": "text",
"norms": false,
"fields": {
"raw": {
"ignore_above": 256,
"index": "not_analyzed",
"type": "string"
}
}
},
"match_mapping_type": "string",
"match": "*"
}
}
],
"_all": {
},
"properties": {
"geoip": {
"dynamic": true,
"type": "object",
"properties": {
"location": {
"type": "geo_point"
}
}
},
"@version": {
"type": "keyword"
}
}
}
},
"aliases": {}
}
}
Anybody has ideas?
Update: My cluster ID is "fcb1bf"