删除Elasticsearch索引设置

时间:2017-08-31 16:17:33

标签: elasticsearch

如何从索引中删除动态设置?不改变它的价值,但完全删除它。

我必须将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插件)。

2 个答案:

答案 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似乎有可能,但我没有对此进行测试,我绝对不会推荐它。