Index Template
- 概念:帮你设定Mappings和Settings,并按照一定的规则,自动匹配到新建的索引上
- 模板仅在一个索引被新创建时,才会产生作用。修改模板不会影响已创建的索引
- 可以设定多个索引模板。这些设置会被“merge”在一起
- 可以指定“order”的数值,控制“merge的过程”
- 创建Index Template
PUT _template/template_test{ "index_patterns": ["test*"], "order": 1, "settings": { "number_of_shards": 2, "number_of_replicas": 1 }, "mappings": { "date_detection": false, "numeric_detection": true }}
- 查看
Get _template/template*
- 工作方式
当一个索引被新创建时:
- 应用Elasticsearch默认的settings和mappings
- 应用order数值低的Index Template中的设定
- 应用order高的Index Template中的设定,之前的设定会被覆盖
- 应用创建索引时,用户所指定的settings和mappings,覆盖模板中的设定
Dynamic Template
- 可以根据Elasticsearch识别得到数据类型,结合字段名称,来动态设定字段类型
PUT test_index{
"mappings": {
"dynamic_templates": [ {
"str_as_bool":{
"path_match": "is*",
匹配is开头的字段"match_mapping_type": "string",
匹配string类型的字段"mapping": { "type": "boolean" }
} } ] }}