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

本文涉及的产品
Elasticsearch Serverless通用抵扣包,测试体验金 200元
简介: 带你读《Elastic Stack 实战手册》之23:——3.4.2.8.Index template(6)

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


查看

 

我们可以使用 GET 请求,查看其模板内容,同样可以使用名称精确查找,也可以使用通配符部分搜索以及搜索全部。老版本还支持使用HEAD请求快速验证 1 个模板是否存在

 

GET /_template/old_template?local=false&master_timeout=30s&flat_settings=false #1

GET /_template/old_* #2

GET /_template #3

HEAD /_template/old_template  #4

 

1、#1 是查看名为old_template的索引模板

2、#2 是查看名字以old_开头的所有索引模板

3、#3 是查看所有索引模板,通过该请求我们可以发现 Elasticsearch 默认创建了很多组件模板,使用时应尽量避免冲突

4、#4 是验证名为old_template的索引模板是否存在,与上面 3 个请求返回模板内容不同,本请求不返回模板内容,以状态码为 200 表示存在,404 表示不存在

 

如#1所示,上述所有请求都可以增加 3 个可选的查询参数:

 

1、local,如果为true组件模板的配置仅从本地节点中获取,默认为false表示此次查询结果是master节点返回的

2、master_timeout,表示可以容忍的连接 Elasticsearch 主节点的时间,默认是30s,如果超时则请求报错

3、flat_settings,表示返回的配置中关于settings字段如何展示,如果为 false 则使用标准

JSON 格式展示,默认为 true 表示多级属性会压缩成 1 级属性名,以点分格式展示,比如关于索引分片的设置,如果该变量为 true 则返回为index.number_of_shards:1

 

使用

 

索引模板的使用,主要发生在创建索引的时候,如果创建的索引名与索引模板相匹配,那么该索引将会在此模板的基础上创建。需要注意的是,如果同时匹配到新老两个版本的模板,那么默认使用新版本。如果仅匹配到多个老版模板则根据order字段依次覆盖。


# 创建索引
PUT /bar-test-old
{
  "settings": {
    "number_of_replicas": 2
  },
  "mappings": {
"_source": {
      "enabled": true
    },
    "properties": {
      "ip":{
        "type": "ip"
      }
    }
  }
}
# 查看索引
GET /bar-test-old
# 返回
{
  "bar-test-old" : {
    "aliases" : {
      "old-template-index" : { }   # old_template模板中的配置
    },
    "mappings" : {
      "_source": {
        "enabled": true   # 创建时的配置覆盖模板的配置
      },
      "properties" : {
        "host_name" : {    #  old_template模板中的配置
          "type" : "keyword"
        },
        "ip" : {
          "type" : "ip"
        }
      }
    },
    "settings" : {
      "index" : {
        "routing" : {
          "allocation" : {
            "include" : {
              "_tier_preference" : "data_content"
            }
          }
        },
        "number_of_shards" : "1",    # old_template模板中的配置
        "provided_name" : "bar-test-old",
        "creation_date" : "1620615937000",
        "number_of_replicas" : "2",
        "uuid" : "jG3xiiB_S-iFrlwZ7df56g",
        "version" : {
          "created" : "7100099"
        }
      }
    }
  }
}

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

相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
相关文章
|
安全 Java 项目管理
云效常见问题之maven私有仓库迁移如何解决
云效(CloudEfficiency)是阿里云提供的一套软件研发效能平台,旨在通过工程效能、项目管理、质量保障等工具与服务,帮助企业提高软件研发的效率和质量。本合集是云效使用中可能遇到的一些常见问题及其答案的汇总。
383 0
|
机器人 开发工具 Web App开发
干货满满!解密阿里云RPA (机器人流程自动化)的产品架构和商业化发展
阿里云RPA,作为阿里云自研8年的技术,在资本的热捧下,逐渐从幕后来到台前,成为企业服务市场的黑马。本文将从产品上全面剖析,阿里云RPA这款产品的现阶段情况,同时简单谈谈阿里云RPA的商业化进展。
7907 0
干货满满!解密阿里云RPA (机器人流程自动化)的产品架构和商业化发展
|
11月前
|
机器学习/深度学习 数据采集 数据挖掘
Python在数据科学中的应用:从数据处理到模型训练
Python在数据科学中的应用:从数据处理到模型训练
|
Java
Optional 常用方法总结
Optional 常用方法总结
195 2
|
开发者 Java Spring
【绝技揭秘】掌握Vaadin数据绑定:一键同步Java对象,告别手动数据烦恼,轻松玩转Web应用开发!
【8月更文挑战第31天】Vaadin不仅是一个功能丰富的Java Web应用框架,还提供了强大的数据绑定机制,使开发者能轻松连接UI组件与后端Java对象,简化Web应用开发流程。本文通过创建一个简单的用户信息表单示例,详细介绍了如何使用Vaadin的`Binder`类实现数据绑定,包括字段与模型属性的双向绑定及数据验证。通过这个示例,开发者可以更专注于业务逻辑而非繁琐的数据同步工作,提高开发效率和应用可维护性。
206 0
|
JavaScript
原生js实现复选框(全选/全不选/反选)效果【含完整代码】
原生js实现复选框(全选/全不选/反选)效果【含完整代码】
672 0
win10取消ie浏览器自动跳转edge浏览器
win10取消ie浏览器自动跳转edge浏览器
363 4
|
机器学习/深度学习 编解码 算法
YOLOv8改进 | 主干篇 | 低照度增强网络PE-YOLO改进主干(改进暗光条件下的物体检测模型)
YOLOv8改进 | 主干篇 | 低照度增强网络PE-YOLO改进主干(改进暗光条件下的物体检测模型)
548 0
|
存储 并行计算 Java
Java中的函数式编程与Lambda表达式探索
Java中的函数式编程与Lambda表达式探索
|
程序员 Go
Go语言编码规范|青训营笔记
这篇文章主要罗列一下开发中Go编码规范和一些可查询的手册文档的链接,这部分知识需要大家不时查阅,逐渐养成好的编码习惯。(关于pprof性能调优请参看上一篇文章)
431 0
Go语言编码规范|青训营笔记