【问题标题】:Removing an Elasticsearch index setting删除 Elasticsearch 索引设置
【发布时间】:2017-09-04 20:03:32
【问题描述】:

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

我必须将 2.x 的 Elasticsearch 集群迁移到最新的 5.x 版本。运行 elasticsearch-migration 插件,我在“索引设置”中看到一个红色警告(意思是“如果不修复此问题就无法升级。”):“已替换设置”-> index.cache.query.enable 已替换为 index.requests.cache.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 添加新设置:curl -XPUT http://server:9200/index1/_settings -d"{ "index": { "requests": { "cache": { "enable": "true" } } } }"。但这不会删除旧设置,并且 elasticsearch-migration 警告不会消失。

再次使用 API,我可以将 index.cache.query.enable 值从 true 更改为 false,但这并没有删除它。我尝试将其设置为null,但这没有任何效果。所以我被一个无法摆脱的设置卡住了,这会阻止迁移(根据elastic-migration 插件)。

【问题讨论】:

    标签: elasticsearch


    【解决方案1】:

    在 Elasticsearch 2.x 中似乎没有删除索引设置的解决方案

    也就是说,关于index.cache.query.enable 的错误不是阻塞的。我将集群从 2.x 更新到 5.x,但没有修复该警告。更新后的集群运行良好,有问题的设置已自动移至 archived 命名空间。

    【讨论】:

      【解决方案2】:

      在快照恢复 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好像是可以的,不过这个我没测试过,绝对不推荐。

      【讨论】:

      • 请注意,我没有使用(也不想使用)任何快照。
      • 我查看了索引文件,看看是否可以找到与集群设置等效的内容,但没有找到。
      • 这很有帮助,谢谢。在 ES 7.10 上确认 index.refresh_interval,特别适合参考。难以重现默认未设置行为的区间 b/c
      猜你喜欢
      • 1970-01-01
      • 2018-07-23
      • 1970-01-01
      • 2020-05-08
      • 1970-01-01
      • 2017-07-04
      • 1970-01-01
      • 1970-01-01
      • 2012-11-29
      相关资源
      最近更新 更多