如何从索引中删除动态设置?不改变它的价值,但完全删除它。
我必须将2.x Elasticsearch集群迁移到最新的5.x版本。运行elasticsearch-migration插件,我看到一个红色警告(意思是"你不能升级而不解决这个问题。")在"索引设置" :"替换设置" - > SimpleUrlHandlerMapping
已被index.cache.query.enable
取代。但https://www.elastic.co/guide/en/elasticsearch/reference/5.0/breaking_50_settings_changes.html并没有说明如何删除某个设置,https://www.elastic.co/guide/en/elasticsearch/reference/2.4/indices.html也没有(除非我遗漏了某些内容)。
我可以使用REST API添加新设置:index.requests.cache.enable
。但这并没有删除旧的设置,而弹性搜索 - 迁移警告也不会消失。
再次使用API,我可以将curl -XPUT http://server:9200/index1/_settings -d"{ "index": { "requests": { "cache": { "enable": "true" } } } }"
值从index.cache.query.enable
更改为true
,但这不会将其删除。我尝试将其设置为false
,但这没有任何效果。所以我遇到了一个我无法摆脱的设置,阻止了迁移(根据null
插件)。
答案 0 :(得分:2)
似乎没有解决方案来删除Elasticsearch 2.x中的索引设置
尽管如此,关于index.cache.query.enable
的错误并未阻止。我在没有修复警告的情况下将集群从2.x更新到5.x.更新的集群运行正常,有问题的设置已自动移至archived
命名空间。
答案 1 :(得分:0)
在快照恢复API中有一个attribute ignore_index_settings
;您不必更改旧群集中的设置。
同样在Elasticsearch 5.0+中你可以reset values by using null
,但这对你的用例不起作用。仅用于下一次迁移; - )
PS:delete a file on the filesystem to remove any setting in the cluster state似乎有可能,但我没有对此进行测试,我绝对不会推荐它。