elasticsearch 无法打开Elasticsearch动态映射,elasticsearch,dynamic,field,logstash,mappings,elasticsearch,Dynamic,Field,Logstash,Mappings" /> elasticsearch 无法打开Elasticsearch动态映射,elasticsearch,dynamic,field,logstash,mappings,elasticsearch,Dynamic,Field,Logstash,Mappings" />

elasticsearch 无法打开Elasticsearch动态映射

elasticsearch 无法打开Elasticsearch动态映射,elasticsearch,dynamic,field,logstash,mappings,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

我使用禁用了动态映射

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"

如何重新启用动态映射?

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

检查是否存在索引:

curl -XGET 'localhost:9200/LOGSTASH_INDEX_NAME_HERE'

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

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

检查是否存在索引:

curl -XGET 'localhost:9200/LOGSTASH_INDEX_NAME_HERE'
如果索引存在并且您可以删除此索引,请执行此操作。在此之后,logstash将尝试发送一些内容-将使用新映射创建索引