无法打开 Elasticsearch 动态映射
Cannot turn Elasticsearch dynamic mapping on
我使用
禁用了动态映射
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 将尝试发送内容时 - 将使用新映射创建索引。
我使用
禁用了动态映射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 将尝试发送内容时 - 将使用新映射创建索引。