ES 实战索引模板
Posted 顧棟
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ES 实战索引模板相关的知识,希望对你有一定的参考价值。
索引模板
模板的主要作用:可以帮助简化创建索引的语句,将模板中的配置和映射应用到创建的索引中。
新建索引时,索引名称满足index_patterns
条件的,将会使用索引模板中的配置和映射。index_patterns
使用*
进行通配,不支持复杂的正则。
indexPattern
要求:
-
不能包含空字符
-
不能以
_
开头 -
不能包含以下特殊字符
\\ / ? " < > | , #
如果索引匹配了多个索引模板,将通过order
,按升序逐个应用和覆盖相同的配置和映射,order
默认值为0,如果多个模板的order
一致,则模板应用顺序不可控。
模板的管理
创建&修改模板
创建修改模板语法一样,把修改后的模板在PUT或者POST一下。修改时,模板内容是全量覆盖的。
新建索引模板gudong_1
PUT _template/gudong_1
"index_patterns": ["gudong*"],
"order" : 0,
"settings":
"number_of_shards": 1
,
"mappings":
"_doc":
"properties":
"message":
"type": "keyword"
,
/* 数据插入的时间 */
"create_date":
"type": "date",
"format": "yyyy-MM-dd HH:mm:ss"
创建索引gudong20211221001
PUT gudong20211221001
查询索引结果
"gudong20211221001":
"aliases": ,
"mappings":
"_doc":
"properties":
"create_date":
"type": "date",
"format": "yyyy-MM-dd HH:mm:ss"
,
"message":
"type": "keyword"
,
"settings":
"index":
"creation_date": "1640054016128",
"number_of_shards": "1",
"number_of_replicas": "1",
"uuid": "TnVhs-7sQ3Wg-BuqSJUEmQ",
"version":
"created": "6070299"
,
"provided_name": "gudong20211221001"
多模板应用
新建索引模板gudong_2
PUT _template/gudong_2
"index_patterns": ["gudong*"],
"order" : 2,
"settings":
"number_of_shards": 1
,
"mappings":
"_doc":
"properties":
"content":
"type": "keyword"
创建索引gudong20211221002
PUT gudong20211221002
查询索引结果,可以发现同时应用了模板gudong_1和gudong_2
"gudong20211221002":
"aliases": ,
"mappings":
"_doc":
"properties":
"content":
"type": "keyword"
,
"create_date":
"type": "date",
"format": "yyyy-MM-dd HH:mm:ss"
,
"message":
"type": "keyword"
,
"settings":
"index":
"creation_date": "1640054892925",
"number_of_shards": "1",
"number_of_replicas": "1",
"uuid": "Ew8LYOJmRFWMFGs4doZ_Pg",
"version":
"created": "6070299"
,
"provided_name": "gudong20211221002"
查询模板
查询所有的模板列表
GET _cat/templates?v&s=name
验证模板是否存在,通过HTTP状态码来判断, 200 表示存在,404 表示不存在。
HEAD _template/gudong_1
查询模板详细内容
GET _template/gudong_1,gudong_2
查询所有模板的详细内容
GET /_template
通配符查询
GET /_template/gudong_*
删除模板
单个模板删除
DELETE /_template/template_1
通配符删除
DELETE /_template/gudong_*
不支持多个模板名以逗号隔开的方式进行删除,不支持DELETE /_template/template_1,template_2
版本化模板
模板可以选择添加一个版本号,它可以是任何整数值,以简化外部系统对模板的管理。 version 字段是完全可选的,它仅用于模板的外部管理。 要取消设置版本,只需替换模板而不指定模板。
PUT /_template/template_1
"index_patterns" : ["*"],
"order" : 0,
"settings" :
"number_of_shards" : 1
,
"version": 123
直接查询版本
GET /_template/template_1?filter_path=*.version
"template_1" :
"version" : 123
以上是关于ES 实战索引模板的主要内容,如果未能解决你的问题,请参考以下文章