ES索引有很多配置项,
比如 number_of_shards,number_of_shards,index.max_result_window, index.mapping.total_fields 等等
如果新建每个索引都要配置一遍,或者都得加这些参数就显得有点麻烦,
索引ES提供了索引模板。

索引模板就是可以设置通用的配置项,后面新建索引只要符合这个模式,并且没有覆盖掉索引模板里面配置的配置项,
就会使用索引模板里面的配置项

比如下面只要后续建立的索引符合index_patterns的设置,即以test开头的索引,如果没有设置模板里面的配置项,就会使用模板里面的配置。

这个属性还是很方便的。

# curl 
curl -XPUT "http://localhost:9200/_template/template_1" -H 'Content-Type: application/json' -d'
{
  "index_patterns": ["test*"],
  "settings": {
    "number_of_shards": 1,
    "index":{
      "max_result_window": 100000,
      "mapping":{
        "total_fields":{
          "limit":5000
        }
      }
    }
  }
}'

# kibana dev tools
PUT _template/template_1
{
  "index_patterns": ["test*"],
  "settings": {
    "number_of_shards": 1,
    "index":{
      "max_result_window": 100000,
      "mapping":{
        "total_fields":{
          "limit":5000
        }
      }
    }
  }
}

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐