带你读《Elastic Stack 实战手册》之23:——3.4.2.8.Index template(2)

简介: 带你读《Elastic Stack 实战手册》之23:——3.4.2.8.Index template(2)

《Elastic Stack 实战手册》——三、产品能力——3.4.入门篇——3.4.2.Elasticsearch基础应用——3.4.2.8.Index template(1) https://developer.aliyun.com/article/1230801


新版本:

 

删除了 order 关键字,引入了组件模板 Component template 的概念,是第一段可以复用的配置块。在创建普通模板时可以声明引用多个组件模板,当创建索引匹配到多个新版索引模板时,取用最高权重的那个。

 

下面将以生命周期(创建、查看、使用、删除)为切入点,分别介绍如何使用 Elasticsearch 新老两个版本的索引模板。

 

新版索引模板

 

在使用新版本的索引模板功能前,我们应当确认 Elasticsearch 是否开启了安全设置,如果是,那么我们操作的角色对于集群需要有 manage_index_templates 或 manage 权限才能使用索引模板功能,这个限制对新老版本都适用。

 

对于新版,Elasticsearch 为了方便用户调试,提供了模拟 API 来帮助用户测试创建索引最终的配置。该模拟 API 主要有 2 个。

 

第一个模拟在现有索引模板下创建 1 个索引,最终使用的模板配置是什么样的。

 

第二个模拟在指定模板的配置下,最终模板配置是什么样的。

 

第一种模拟 API 使用范例如下:


# 创建1个组件模板ct1
PUT /_component_template/ct1             # 1
{
  "template": {
    "settings": {
      "index.number_of_shards": 2       
    }
  }
}
# 创建1个组件模板ct2
PUT /_component_template/ct2             # 2
{
  "template": {
"settings": {
      "index.number_of_replicas": 0     
},
    "mappings": {
      "properties": {
        "@timestamp": {
          "type": "date"
        }
      }
    }
  }
}
# 创建1个索引模板 final-template
PUT /_index_template/final-template      # 3
{
  "index_patterns": ["my-index-*"],
  "composed_of": ["ct1", "ct2"],         
  "priority": 5,
  "template":{
  "settings": {
      "index.number_of_replicas": 1
    },
    "mappings": {
      "properties": {
        "name": {
          "type": "keyword"
        }
      }
    }
  }
}
# 验证创建名为 my-index-00000 的索引使用的配置是如何
POST /_index_template/_simulate_index/my-index-00000   # 4
#返回
{
  "template" : {    # 引用模板中的配置有settings、mappings、aliase
    "settings" : {
      "index" : {
        "number_of_shards" : "2",
        "number_of_replicas" : "1"
      }
    },
    "mappings" : {
      "properties" : {
        "@timestamp" : {
          "type" : "date"
        },
        "name" : {
          "type" : "keyword"
        }
      }
    },
    "aliases" : { }
   },
   "overlapping" : [  # 5
     {
       "name" : "test-template",
       "index_patterns" : ["my-*"]
    }
   ]
}

1、在 #1 处创建了 1 个名为cr1的组件模板,该模板设置了索引分片数为2。

2、在 #2 处创建了 1 个名为cr2的组件模板,该模板设置了索引由1个@timestamp属性,并且副本数是0。

3、在 #3 处创建了1个名为final-template的索引模板,它适用于所有以my-index-开头的索引。
 

4、在 #4 处向/_index_template/_simulate_index/my-index-00000发送 POST 请求,测试创建名为my-index-00000的索引,下面的 JSON 是使用索引模板的配置,可以看出 template 字段是组件 cr1、cr2 以及索引模板 final-template 全部配置的聚合。

5、#5处的overlapping字段表示忽略了名为test-template模板的配置。

 

第二种模拟 API 使用范例如下:


# 默认组件模板 ct1、crt 已创建,内容如前
# 验证按照该模板创建的索引时会使用的配置
POST /_index_template/_simulate/<index-template> #1
{  # 2
  "index_patterns":["test-*"],
  "composed_of": ["ct1","ct2"],
  "priority": 5,
  "template": {
    "settings": {
      "index.number_of_replicas": 1
    },
    "mappings": {
      "properties": {
        "name": {
          "type": "keyword"
        }
      }
    }
  }
}
# 返回
{    # 3
  "template" : {
    "settings" : {
      "index" : {
        "number_of_shards" : "2",
        "number_of_replicas" : "1"
      }
    },
    "mappings" : {
      "properties" : {
        "@timestamp" : {
          "type" : "date"
        },
        "name" : {
          "type" : "keyword"
        }
      }
    },
    "aliases" : { }
  },
  "overlapping" : [
    {
     "name" : "test-template",
     "index_patterns" : ["my-*"]
    }
  ]
}

1、#1 向/_index_template/_simulate/发送 POST 请求,其中为自定义索引模板的名词,该模板并不会实际创建。

2、#2 处是请求的 body,与创建一个新版索引模板个格式完全一样,后续详细介绍,目前只需要知道它引用了 cr1 和 cr2 两个组件模板。

3、#3 处为请求返回的 body,可以看出内容是组件模板 cr1、cr2 以及请求 body3 个配置的组合。

 

《Elastic Stack 实战手册》——三、产品能力——3.4.入门篇——3.4.2.Elasticsearch基础应用——3.4.2.8.Index template(3) https://developer.aliyun.com/article/1230799

相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。 &nbsp;
相关文章
|
26天前
|
人工智能 运维 前端开发
阿里云万小智AI建站2.0实操指南:一句话生成全栈网站,零基础搭建企业官网
数字化转型浪潮之下,网站已经成为企业对外塑造品牌形象、承接客户咨询、完成商业转化不可或缺的线上阵地。传统建站模式长期存在诸多难以回避的痛点,搭建一套完整可用的企业官网,企业往往需要对接UI设计师、前端开发、后端工程师、数据库运维等多个岗位。需求沟通周期漫长,设计开发动辄耗费数周乃至数月,整体人力与时间成本居高不下。对于大量中小微企业、个体商户以及初创团队来说,组建专职技术开发团队并不现实;选择外包建站,又经常出现需求理解出现偏差、后期修改困难、运维维护成本高等问题。网站交付完成之后,哪怕只是简单修改文案、调整页面模块,都要联系外包人员处理,迭代效率低下,不少企业因此迟迟无法搭建属于自己的线上业
148 3
|
11天前
|
弹性计算 监控 测试技术
阿里云最便宜服务器新版测评:38元/年、99元、199元三款实例性能、限制与选购全解析
对于个人站长、编程学习者、毕业设计项目、小微企业来说,云服务器的采购成本是首要考量因素。很多新手在挑选云服务器的时候,优先寻找最低价格套餐,但是低价实例往往附带购买门槛、资源限制、续费溢价、流量约束等隐藏规则,如果没有提前了解,很容易出现第一年低价,第二年续费价格暴涨,或是业务上线之后因为资源限制出现网站卡顿、访问超时等问题。阿里云推出的38元一年、99元一年、199元一年三款特价实例,是当前入门级云服务器当中热度最高的产品,分别对应轻量应用服务器与ECS弹性云服务器,三者定位、硬件配置、网络能力、续费政策存在明显区别。本文会对这三款特价服务器做完整的横向测评,包含硬件参数、带宽实测、磁盘IO
220 0
|
27天前
|
缓存 测试技术 API
大模型API中转站避坑:满血验证、倍率换算与降智识别(附压测代码)
从工程师视角系统梳理大模型API中转站的评估方法:讲清兑换比例与倍率的真实换算关系,给出满血模型验证三招(复杂推理压测、模型指认、长上下文压力测试)与可运行的Python压测脚本,并总结稳定性、协议兼容、计费透明等接入要点和先测后充的避坑建议。
|
1月前
|
人工智能 API
Luna降价80%,老金教你20美元Plus当100美元Pro用
![Image](https://ucc.alicdn.com/pic/developer-ecology/p3shvhj26rigq_cfb66ec429e24ad3b3040b2007a76397.png) 先说结论。如果你正在用20美元的Codex Plus,这次先别急着掏100美元升级Pro。 你账户里已经有的GPT-5.6 Luna,刚刚降价80%。把它的Max推理打开,再让Sol
|
3月前
|
人工智能 搜索推荐 数据挖掘
数据挖掘有哪些数据来源?一文盘点数据挖掘的公开数据来源!
本文系统梳理了AI时代必备的优质公开数据源,涵盖政府宏观、企业金融、互联网、电商、媒体、交通及行业研究七大类共20+平台,如国家统计局、EDGAR、Statcounter、猫眼专业版等,助你低成本、高效率获取高质量数据,夯实AI应用根基。
|
4月前
|
数据采集 数据可视化 数据挖掘
均线选股策略研究:基于 Python 数据分析实现
均线选股策略研究:基于 Python 数据分析实现
|
6月前
|
数据采集 运维 数据安全/隐私保护
告别无效IP!实用代理IP选择标准与使用技巧拆解
代理IP是数据采集、跨境访问等场景的关键工具。本文提供实战指南:精准匹配需求(动态/住宅/静态IP)、严选质量(高匿、低延迟、合规来源)、科学管理(IP池轮换、请求伪装)及避坑要点,助您提效降风险,守住合规底线。
|
7月前
|
缓存 安全 NoSQL
FastAPI 依赖注入全解:从函数到全局作用域|附实战代码
FastAPI依赖注入(DI)是其核心机制:你声明所需资源(如用户认证、数据库会话),框架自动注入。支持函数/类依赖、多级作用域(接口/路由/全局)和类型安全,实现DRY、解耦与自动文档。一句话:`Depends()` 是你的“自动工具管理员”。
794 1
|
消息中间件 Prometheus 监控
基于 RocketMQ Prometheus Exporter 打造定制化 DevOps 平台
本文将对 RocketMQ-Exporter 的设计实现做一个简单的介绍,读者可通过本文了解到 RocketMQ-Exporter 的实现过程,以及通过 RocketMQ-Exporter 来搭建自己的 RocketMQ 监控系统。RocketMQ 在线可交互教程现已登录知行动手实验室,PC 端登录 start.aliyun.com 即可直达。
基于 RocketMQ Prometheus Exporter 打造定制化 DevOps 平台
|
8月前
|
存储 人工智能 自然语言处理
GEO优化:成功前奏的关键布局与实操清单
本文将深入探讨GEO优化的前期关键布局,并提供一份实操清单,帮助企业在AI时代抢占先机。
582 8

热门文章

最新文章