Elasticsearch自定义索引模板操作步骤
Elasticsearch的索引模板可以让用户定义索引的默认设置,将其应用于新创建的索引,从而减少重复性的配置工作。下面介绍Elasticsearch自定义索引模板的操作步骤:
-
准备模板文件
需要准备一个JSON格式的文件,用于定义模板,文件中可以包含默认的mapping设置、分片数量、副本数量等信息。
{ "template": "logstash-*", "settings": { "index.number_of_shards": 5, "index.number_of_replicas": 1 }, "mappings": { "_default_": { "_all": { "enabled": true }, "dynamic_templates": [ { "string_fields": { "match": "*", "match_mapping_type": "string", "mapping": { "type": "text", "index": "not_analyzed" } } } ] } } }
-
使用PUT方法添加模板
模板文件准备完毕后,使用PUT方法将模板添加到Elasticsearch中,模板的名称由文件中的template参数指定。
PUT _template/logstash
-
发送模板文件
将模板文件发送给Elasticsearch,以便将其应用到新创建的索引中。
{ "template": "logstash-*", "settings": { "index.number_of_shards": 5, "index.number_of_replicas": 1 }, "mappings": { "_default_": { "_all": { "enabled": true }, "dynamic_templates": [ { "string_fields": { "match": "*", "match_mapping_type": "string", "mapping": { "type": "text", "index": "not_analyzed" } } } ] } } }
-
应用模板
创建一个新的索引,并指定模板名称,即可将模板应用到新创建的索引中。
PUT logstash-2016.01.01 { "settings": { "index.template.name": "logstash" } }