講到索引生命週期管理不的講到Index Template
索引模板簡單講就是自動匹配特定的索引來去設定一些東西,有了模板不用一個一個索引去設定
索引模板大致上分為兩大類:
動態映射(dynamic:true):動態添加新的字段(或缺省)。
靜態映射(dynamic:false):忽略新的字段。在原有的映射基礎上,當有新的字段時,不會主動的添加新的映射關係,只作為查詢結果出現在查詢中。
嚴格模式(dynamic: strict):如果遇到新的字段,就拋出異常。
早在7.8.0之前只有Index Template,7.9.0之後又增加Component Templates
Component Templates主要用在一些重複設定可以抽出來當組件讓多個模板共用
API的路徑部分也做了差異
注意:模板只在創建索引時應用。更改模板不會對現有索引產生影響。
PUT _component_template/component_template1
{
"template": {
"settings": {
"number_of_shards": 1
},
"mappings": {
"properties": {
"name": {
"type": "text"
},
"age": {
"type": "long"
}
}
}
}
}
PUT _index_template/template_1
{
"index_patterns": ["te*", "bar*"],
"template": {
"mappings": {
"properties": {
"host_name": {
"type": "keyword"
},
"created_at": {
"type": "date",
"format": "EEE MMM dd HH:mm:ss Z yyyy"
}
}
}
},
"priority": 200,
"composed_of": ["component_template1"], # 使用component_template1來節省重複的設定,之後要更改設定也能全部統一修改
"version": 3,
}