【弄nèng - Elasticsearch】DSL入门篇(十三)—— Index Template

索引模板
官网传送门
参考:
https://www.cnblogs.com/shoufeng/p/10641560.html
https://elasticsearch.cn/article/335

1. 简介

索引可使用预定义的模板进行创建,这个模板叫做Index templates。包括settings和mappings,通过匹配方便多个索引使用一个模板。

  1. settings: 指定index的配置信息, 比如分片数、副本数等
  2. mappings:主要是一些说明信息,分为_all、_source、prpperties这三部分

_all: All Field字段, 如果开启, _all字段就会把所有字段的内容都包含进来,检索的时候可以不用指定字段查询 —— 会检索多个字段, 设置方式: “_all”: {“enabled”: true};
在ES 6.0开始, _all字段被禁用了, 作为替换, 可以通过copy_to自定义实现all字段的功能.

_source: Source Field字段, ES为每个文档都保存一份源数据, 如果不开启, 也就是"_source": {“enabled”: false}, 查询的时候就只会返回文档的ID, 其他的文档内容需要通过Fields字段到索引中再次获取, 效率很低. 但若开启, 索引的体积会更大, 此时就可以通过Compress进行压缩, 并通过inclueds、excludes等方式在field上进行限制 —— 指定义允许哪些字段存储到_source中, 哪些不存储;

properties: 最重要的配置, 是对索引结构和文档字段的设置.

  1. template: 匹配索引名,6.0版本以后使用index_patterns数组形式
  2. order: 模板级别,匹配到多个模板时值越大越优先,默认值是0

2. 创建模板

PUT _template/template_1
{
  "template": "te*", ## 6.0版本以后使用"index_patterns": ["te*", "bar*"] 数组形式
  "settings": {
    "number_of_shards": 3,
    "number_of_replicas": 1
  },
  "mappings": {
    "doc": {
      "_source": {
        "enabled": false
      },
      "properties": {
        "host_name": {
          "type": "keyword"
        },
        "created_time": {
          "type": "date",
          "format": "yyyy-MM-dd HH:mm:ss"
        }
      }
    }
  }
}

效果

{
  "acknowledged": true
}

3.查询模板

  • 查询单个模板
GET /_template/template_1
  • 模糊匹配得到多个模板
GET /_template/te* 
  • 批量查询
GET /_template/template_1,template_2
  • 查询所有模板
GET /_template
  • 判断模板是否存在
HEAD _template/shop_tem

结果:
a) 如果存在, 响应结果是: 200 - OK
b) 如果不存在, 响应结果是: 404 - Not Found

4.删除模板

DELETE /_template/template_1

项目推荐

IT-CLOUD :IT服务管理平台,集成基础服务,中间件服务,监控告警服务等。
IT-CLOUD-ACTIVITI6 :Activiti教程源码。博文在本CSDN Activiti系列中。
IT-CLOUD-ELASTICSEARCH :elasticsearch教程源码。博文在本CSDN elasticsearch系列中。

开源项目,持续更新中,喜欢请 Star~

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值