Elasticsearch索引模板index templates怎么创建
Elasticsearch索引模板index templates可以通过以下两种方式创建:
1. 使用_template API
可以使用_template API来创建一个索引模板。索引模板可以被用来为特定条件下的索引设置默认的映射。需要注意的是,索引模板只有在索引被创建的时候才会生效。
例如,假设我们想要为以logstash-开头的索引设置默认的映射:
curl -XPUT 'localhost:9200/_template/logstash' -d '
{
"template" : "logstash-*",
"mappings" : {
"_default_" : {
"_all" : {"enabled" : true},
"properties" : {
"@timestamp" : { "type" : "date", "format" : "dateOptionalTime"},
"@version" : { "type" : "string", "index" : "not_analyzed" },
"geoip" : { "type" : "object",
"properties" : {
"location" : { "type" : "geo_point" }
}
}
}
}
}
}'
2. 使用配置文件
可以在Elasticsearch的配置目录下的templates目录中创建一个JSON文件,该文件的名称可以任意取。模板的内容也是一个JSON格式的文件,可以参考_template API中的例子。
在这里我们以一个名为logstash的模板为例:
curl -XPUT 'localhost:9200/_template/logstash' -d '
{
"template" : "logstash-*",
"mappings" : {
"_default_" : {
"_all" : {"enabled" : true},
"properties" : {
"@timestamp" : { "type" : "date", "format" : "dateOptionalTime"},
"@version" : { "type" : "string", "index" : "not_analyzed" },
"geoip" : { "type" : "object",
"properties" : {
"location" : { "type" : "geo_point" }
}
}
}
}
}
}'
相关文章