无法打开Elasticsearch动态映射

时间:2017-06-21 15:47:18

标签: elasticsearch dynamic field logstash mappings

我使用

禁用了动态映射
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"

如何实际重新启用动态映射?

1 个答案:

答案 0 :(得分:2)

看起来logstash的索引是使用旧模板创建的(在更新模板之前)。因为当您更新模板时,只有新索引会更新映射和设置。

检查索引是否存在:

curl -XGET 'localhost:9200/LOGSTASH_INDEX_NAME_HERE'

如果索引存在且您可以删除此索引 - 请执行此操作。在此之后,当logstash尝试发送内容时 - 将使用新映射创建索引。