我使用
禁用了动态映射curl -XPUT 'localhost:9200/_template/template_all?pretty' -H 'Content-Type: application/json' -d' { "template": "*", "order":0, "settings": { "index.mapper.dynamic": false }}'
我想用
重新打开它curl -XPUT 'localhost:9200/_template/template_all?pretty' -H 'Content-Type: application/json' -d' { "template": "*", "order":0, "settings": { "index.mapper.dynamic": true }}'
它已经确认它是真的,但是当我尝试让logstash向它发送信息时,在logstash错误日志中我回来了 -
"reason"=>"trying to auto create mapping, but dynamic mapping is disabled"
如何实际重新启用动态映射?
答案 0 :(得分:2)
看起来logstash的索引是使用旧模板创建的(在更新模板之前)。因为当您更新模板时,只有新索引会更新映射和设置。
检查索引是否存在:
curl -XGET 'localhost:9200/LOGSTASH_INDEX_NAME_HERE'
如果索引存在且您可以删除此索引 - 请执行此操作。在此之后,当logstash尝试发送内容时 - 将使用新映射创建索引。