28 Aug 2018
index templates是es中的一种模板,当创建index时,根据index templates中指定的index_patterns数组来确定新index应用哪个模板。templates中包含settings、mappings和index_patterns。index templates只会在index创建时被应用,当index已经存在时,修改现存的index templates无法影响该index。
GET _template GET _template/template_1 GET /_template/temp* GET /_template/template_1,template_2
HEAD _template/template_1
PUT _template/template_1
{
"index_patterns": ["te*", "bar*"],
"settings": {
"number_of_shards": 1
},
"mappings": {
"_doc": {
"_source": {
"enabled": false
},
"properties": {
"host_name": {
"type": "keyword"
},
"created_at": {
"type": "date",
"format": "EEE MMM dd HH:mm:ss Z YYYY"
}
}
}
}
}
index templates 支持c语言样式的
/**/注释
DELETE _template/template_1
可以使用多个index templates来应用给同一个index,只需要用order选项来指定顺序,顺序在前的先加载,后面加载的会覆盖之前已存在的选项。
PUT /_template/template_1
{
"index_patterns" : ["*"],
"order" : 0,
"settings" : {
"number_of_shards" : 1
},
"mappings" : {
"_doc" : {
"_source" : { "enabled" : false }
}
}
}
PUT /_template/template_2
{
"index_patterns" : ["te*"],
"order" : 1,
"settings" : {
"number_of_shards" : 1
},
"mappings" : {
"_doc" : {
"_source" : { "enabled" : true }
}
}
}
_source选项加载了两次,后面加载的覆盖前面加载的,所以最终其配置为{ “enabled” : true }