《Elastic Stack 实战手册》——三、产品能力——3.4.入门篇——3.4.2.Elasticsearch基础应用——3.4.2.8.Index template(5) https://developer.aliyun.com/article/1230796
查看
我们可以使用 GET 请求,查看其模板内容,同样可以使用名称精确查找,也可以使用通配符部分搜索以及搜索全部。老版本还支持使用HEAD请求快速验证 1 个模板是否存在。
GET /_template/old_template?local=false&master_timeout=30s&flat_settings=false #1
GET /_template/old_* #2
GET /_template #3
HEAD /_template/old_template #4
1、#1 是查看名为old_template的索引模板。
2、#2 是查看名字以old_开头的所有索引模板。
3、#3 是查看所有索引模板,通过该请求我们可以发现 Elasticsearch 默认创建了很多组件模板,使用时应尽量避免冲突。
4、#4 是验证名为old_template的索引模板是否存在,与上面 3 个请求返回模板内容不同,本请求不返回模板内容,以状态码为 200 表示存在,404 表示不存在。
如#1所示,上述所有请求都可以增加 3 个可选的查询参数:
1、local,如果为true组件模板的配置仅从本地节点中获取,默认为false表示此次查询结果是master节点返回的。
2、master_timeout,表示可以容忍的连接 Elasticsearch 主节点的时间,默认是30s,如果超时则请求报错。
3、flat_settings,表示返回的配置中关于settings字段如何展示,如果为 false 则使用标准
JSON 格式展示,默认为 true 表示多级属性会压缩成 1 级属性名,以点分格式展示,比如关于索引分片的设置,如果该变量为 true 则返回为index.number_of_shards:1。
使用
索引模板的使用,主要发生在创建索引的时候,如果创建的索引名与索引模板相匹配,那么该索引将会在此模板的基础上创建。需要注意的是,如果同时匹配到新老两个版本的模板,那么默认使用新版本。如果仅匹配到多个老版模板则根据order字段依次覆盖。
# 创建索引 PUT /bar-test-old { "settings": { "number_of_replicas": 2 }, "mappings": { "_source": { "enabled": true }, "properties": { "ip":{ "type": "ip" } } } } # 查看索引 GET /bar-test-old # 返回 { "bar-test-old" : { "aliases" : { "old-template-index" : { } # old_template模板中的配置 }, "mappings" : { "_source": { "enabled": true # 创建时的配置覆盖模板的配置 }, "properties" : { "host_name" : { # old_template模板中的配置 "type" : "keyword" }, "ip" : { "type" : "ip" } } }, "settings" : { "index" : { "routing" : { "allocation" : { "include" : { "_tier_preference" : "data_content" } } }, "number_of_shards" : "1", # old_template模板中的配置 "provided_name" : "bar-test-old", "creation_date" : "1620615937000", "number_of_replicas" : "2", "uuid" : "jG3xiiB_S-iFrlwZ7df56g", "version" : { "created" : "7100099" } } } } }
《Elastic Stack 实战手册》——三、产品能力——3.4.入门篇——3.4.2.Elasticsearch基础应用——3.4.2.8.Index template(7) https://developer.aliyun.com/article/1230794