索引模板
在类似日志的场景下,索引模板是非常有效的。一般日志是需要每天都自动生成一个模板的,这样对数据的管理以及集群的性能容灾等都是一个非常有用的帮助。但是每天根据日期都生成一个索引有一个问题,那就是索引的配置,如果每天都是我们自己去手动创建当天的索引,会非常麻烦并且容易出错,所幸的是,ElasticSearch 已经考虑到了这一点并且提出了索引模板的概念,配置好模板之后,只需要每天根据模板去生成索引便好。
Index Templates
Index Templates 就是 ElasticSearch 帮你生成一个模板,你只需要配置好 mapping 与 settings ,ElasticSearch 就会按照一定的规则将这些设置赋予新的索引。
- 模板只会在一个索引新建时才会起作用,修改模板不会影响已经创建的索引结构
- 可以设置多个索引模板,最终生成索引时这些模板会自动 merge 合并
- 可以通过 order 优先序列号 去控制 merge 的过程
使用方式
_template API 是 ElasticSearch 专门设置模板使用的。一个模板有几个重要元素:
- index_patterns 匹配规则,表示那些索引名创建时会使用模板
- order 影响merge 的顺序
- version 版本号
- mappings
- settings
所有的索引创建设置一个模板
#Create a default template
PUT _template/template_default
{
"index_patterns": ["*"],
"order" : 0,
"version": 1,
"settings": {
"number_of_shards": 1,
"number_of_replicas":1
}
}
上边就是一个模板创建的过程,这个模板