索引模板


在Elasticsearch中,索引模板(Index Template)是用来预定义索引的设置(settings)、映射(mappings)和别名(aliases)的一种方式。当创建新索引时,如果该索引匹配某个模板的条件,那么该模板的设置、映射和别名就会自动应用到该索引上。

通过索引模板,你可以统一和自动化新创建索引的配置,确保数据一致性、简化管理。例如,你可以使用模板为某类索引设置分片数、副本数,定义字段的数据类型等。

模板可以根据索引的名字模式进行应用(如匹配以"logs-"开头的索引),并且可以设置优先级,允许不同的模板互相覆盖和继承。

查看索引模板

查看所有索引模板
GET http://10.0.0.103:9200/_template
查看单个索引模板
GET http://10.0.0.103:9200/_template/.monitoring-es

创建修改索引模板

POST http://10.0.0.103:9200/_template/linux
{
    "aliases": {
        "DBA": {},
        "SRE": {},
        "K8S": {}
    },
    "index_patterns": [
        "linux*"
    ],
    "settings": {
        "index": {
            "number_of_shards": 3,
            "number_of_replicas": 0
        }
    },
    "mappings": {
        "properties":{
            "ip_addr": {
                "type": "ip"
            },
            "access_time": {
                "type": "date"
            },
            "address": {
                "type" :"text"
            },
            "name": {
                "type": "keyword"
            }
        }
    }
}

## 创建匹配以linux开头的索引匹配的
### 测试
创建
PUT 10.0.0.101:9200/linux001
检测
GET 10.0.0.101:9200/linux001

image-20241005195730089

删除索引模板

DELETE http://10.0.0.103:9200/_template/linux