赞
踩
官方文档链接:https://www.elastic.co/guide/en/elasticsearch/reference/6.6/indices-templates.html
可以按下面几种方式理解索引模板:
避免每次在创建索引库的时候,都需要手工指定每个索引库的配置信息;索引可以使用索引模板(index template)进行创建
,在新建索引时需要进行模板设置包括settings和mappings,通过模式匹配可使多个索引重复使用一个模板
。
将已经创建好的某个索引的参数设置(settings)和索引映射(mapping)保存下来作为模板, 在创建新索引时, 指定要使用的模板名, 就可以直接重用已经定义好的模板中的设置和映射.
注意:
模板仅在创建索引时应用。更改模板不会影响现有索引
。使用创建索引 API 时,作为创建索引调用的一部分定义的设置/映射将优先于模板中定义的任何匹配设置/映射。直接修改mapping的优先级 > 索引模板中的设置
;索引模板一般与索引别名一起使用
# 查看所有的模板内容
GET _cat/templates?v&h=name
GET _cat/templates/l*?v&h=name
GET _template/logstash,ilm-history
# 查看模板
GET _template/模板名称
{
"logstash" : {
"order" : 0,
"version" : 60001,
"index_patterns" : [
"logstash-*"
],
// settings: 指定index的配置信息, 比如分片数、副本数, tranlog同步条件、refresh策略等信息
"settings" : {
"index" : {
// 分片数量, 可以定义其他配置项
"number_of_shards" : "1",
"refresh_interval" : "5s"
}
},
//mappings: 指定index的内部构建信息, 主要有
"mappings" : {
"dynamic_templates" : [
{
"message_field" : {
"path_match" : "message",
"mapping" : {
"norms" : false,
"type" : "text"
},
"match_mapping_type" : "string"
}
},
{
"string_fields" : {
"mapping" : {
"norms" : false,
"type" : "text",
"fields" : {
"keyword" : {
"ignore_above" : 256,
"type" : "keyword"
}
}
},
"match_mapping_type" : "string",
"match" : "*"
}
}
],
//properties: 最重要的配置, 是对索引结构和文档字段的设置。
//字段的映射
"properties" : {
// 具体的字段映射
"@timestamp" : {
"type" : "date"
},
"geoip" : {
"dynamic" : true,
"properties" : {
"ip" : {
"type" : "ip"
},
"latitude" : {
"type" : "half_float"
},
"location" : {
"type" : "geo_point"
},
"longitude" : {
"type" : "half_float"
}
}
},
"@version" : {
// keyword类型
"type" : "keyword"
}
}
},
// 索引对应的别名
"aliases" : { }
}
}
# 新建模板
PUT _template/test_template
{
// 模板的权重, 多个模板的时候优先匹配用, 值越大, 权重越高
"order" : 20,
// 可以通过"logging_status_*"和"logging_index_*"和"logging_usercenter_*"来适配
"index_patterns" : [
"logging_status_*",
"logging_index_*",
"logging_usercenter_*"
],
"settings" : {
"index" : {
// 20分片数量
"number_of_shards" : "20",
//一个副分片
"number_of_replicas" : "1",
"refresh_interval" : "10s"
}
},
"mappings" : {
"dynamic" : "strict",
// 字段的映射
"properties" : {
// 具体的字段映射
"classMethod" : {
//keyword类型
"type" : "keyword"
},
"traceId" : {
"type" : "keyword"
},
"responseBody" : {
"type" : "text"
},
"project" : {
"type" : "keyword"
},
"message" : {
"analyzer" : "ik_max_word",
"type" : "text"
},
"requestParam" : {
"type" : "text"
},
"threadName" : {
"type" : "keyword"
},
"responseCode" : {
"type" : "keyword"
},
"requestTime" : {
"type" : "keyword"
},
"path" : {
"type" : "keyword"
},
"environment" : {
"type" : "keyword"
},
"@timestamp" : {
"format" : "strict_date_optional_time||epoch_millis",
"type" : "date"
},
"logLevel" : {
"type" : "keyword"
},
"responseDuration" : {
"type" : "keyword"
},
"clientIP" : {
"type" : "keyword"
},
"host" : {
"type" : "keyword"
},
"topic" : {
"type" : "keyword"
},
"serverIP" : {
"type" : "keyword"
},
"loggerName" : {
"type" : "keyword"
},
"requestPath" : {
"type" : "keyword"
},
"timestamp" : {
"type" : "keyword"
}
}
},
// 索引对应的别名
"aliases" : { }
}
查看模板:创建成功
再次put一次,就可以完成自动修改
DELETE _template/模板名称 // 删除模板
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。