关闭ES动态创建type

虽说ES的默认设置已经够我们使用了,但是总有些情景需要我们修改一些配置。

由于ES 2.*不能单独删除某个type,只能将整个index删除。这无疑非常让人苦恼。

所以我们需要关闭动态创建type以减少错误创建type的可能。

我们只需执行如下命令(在Sense中执行)

PUT /test_xzy/_settings

PUT /test_xzy/_settings
{
  "index.mapper.dynamic":false
}

如果没有关闭index,会出现如下错误:

Can't update non dynamic settings[[index.mapper.dynamic]] for open indices [[test_xzy]]

这时候就需要先关闭index:

POST /test_xzy/_close

在关闭动态创建type之后开启index:

POST /test_xzy/_open

查看_setting

GET /test_xzy/_settings

返回如下内容:

{
  "test_xzy": {
    "settings": {
      "index": {
        "mapper": {
          "dynamic": "false"
        },
        "creation_date": "1470985056448",
        "number_of_shards": "5",
        "number_of_replicas": "1",
        "uuid": "Uc3ci95nSdyjmkvcXLoEEw",
        "version": {
          "created": "2030299"
        }
      }
    }
  }
}

  

我们可以看到设置已经成功。

  

原文地址:https://www.cnblogs.com/xzysaber/p/5765295.html