Elasticsearch索引模板index templates怎么创建

2023-04-07 12:56:00 索引 创建 模板

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" }

}

}

}

}

}

}'

相关文章