2017-06-21 62 views
0

我禁用動態映射與無法打開Elasticsearch動態映射在

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" 

我該如何實際上重新打開動態映射?

回答

2

看起來像logstash的索引是使用舊模板創建的(在更新模板之前)。因爲當你更新你的模板時,只有新的索引會有更新的映射和設置。

檢查是存在索引:

curl -XGET 'localhost:9200/LOGSTASH_INDEX_NAME_HERE' 

如果索引存在,你可以刪除這個索引 - 做到這一點。在此之後,logstash將嘗試發送內容 - 將使用新映射創建索引。