1,首先看一下下面这个索引模板

curl -XPUT "master:9200/_template/template_1?pretty" -H 'Content-Type: application/json' -d'  ---> 模板名字叫做template1
{
"template" : "hello*", -------------> 匹配的索引名字
"order" : 0, -------------> 代表权重,如果有多个模板的时候,优先进行匹配,值越大,权重越高
"settings" : {
"number_of_shards" : 1 -------> 主分片的设置
},
"aliases": {
"alias_1" : {} ------> 索引对应的别名
},
"mappings" : { -----> 字段的映射
"_default_": { -----------------> 默认的配置
"_source" : { "enabled" : false }, ------> 字段原始的具体值是否要存
"_all": { "enabled": false }, -----> 禁用_all 字段,
"dynamic": "strict" ----------> 只可以用定义的字段,关闭默认的自动推断数据类型
},
"type1" : { ----> 类型名字
"_source" : { "enabled" : true }, ------> 字段具体的值是否要存
"properties": { ---------> 字段映射
"@timestamp": { -------> 具体的字段映射
"type": "date",
"format": "strict_date_optional_time||epoch_millis"
},
"@version": {
"doc_values": true,
"index": "not_analyzed",
"type": "string"
},
"Guid": {
"doc_values": true,
"index": "not_analyzed",
"type": "string"
},
"LogLevel": {
"type": "long"
}
}
}
}
}
'

2,关于索引模板的删除和查看。

删除
curl -X DELETE "localhost:9200/_template/template_1" 查看:
GET /_template/template_1
GET /_template/temp*
GET /_template/template_1,template_2
GET /_template 判断是否存在
HEAD _template/template_1

3,哦了,看完这个简单的模板之后,我们来注意看一下以下几点

注意3.1:不要在一个索引中定义多个type。

6.X版本已经不支持,7.X版本彻底不支持。

扩展问题:5.X版本的父子文档实际实现中是一个索引中定义了多个type,到了6.X中实现方式改变为:join方式。

注意3.2:将Set _source设置为false。

假设你只关心度量结果,不是原始文件内容。

将节省磁盘空间并减少IO。

比如,你可以把原始的数据存储在mysql ,hbase 等其他地方,从es 中得到id 后,去相应的数据库中进行取数据

举例:

“_source”:{

“enabled”:false

},

注意3.3:将_all设置为false。

假设你确切地知道你对哪个field做查询操作?

能实现性能提升,缩减存储。

举例:

“_all”:{

“enabled”:false },

注意3.4:设置dynamic = strict。

假设你的数据是结构化数据。

字段设置严格,避免脏数据注入。

举例:

“dynamic”:”strict”,

注意3.5:使用keyword类型

假设你只关心完全匹配

提高性能和缩小磁盘存储空间

举例:

“CLF_CustomerID”:{

“type”:”keyword”

},

4, 索引模板的用途,一般是用在时间序列这样的索引中

4.1 概述

也就是说,如果你的索引,可以按照每周,或者每天进行建立索引,那么,索引模板的作用就来了。

你只要配置好索引模板,后面你就不用每次都要建立索引的映射了。这个糖果还是很好用的。

4.2 注意的点,索引模板一般配合索引别名一起使用,(下雨天,巧克力和音乐更配哦)

附上官方文档链接,不要太感谢:

https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-templates.html

elasticsearch 5.x 系列之四(索引模板的使用,详细得不要不要的)的更多相关文章

  1. ElasticSearch(六):索引模板

    ElasticSearch(六):索引模板 学习课程链接<Elasticsearch核心技术与实战> Index Template Index Template - 帮助你设定Mappin ...

  2. 实战DeviceIoControl系列之四:获取硬盘的详细信息

    Q 用IOCTL_DISK_GET_DRIVE_GEOMETRY IOCTL_STORAGE_GET_MEDIA_TYPES_EX只能得到很少的磁盘参数,我想获得包括硬盘序列号在内的更加详细的信息,有 ...

  3. ES 10 - Elasticsearch的索引别名和索引模板

    目录 1 索引模板概述 1.1 什么是索引模板 1.2 索引模板中的内容 1.3 索引模板的用途 2 创建索引模板 3 查看索引模板 4 删除索引模板 5 模板的使用建议 5.1 一个index中不能 ...

  4. Elasticsearch之索引模板index template与索引别名index alias

    为什么需要索引模板? 在实际工作中针对一批大量数据存储的时候需要使用多个索引库,如果手工指定每个索引库的配置信息(settings和mappings)的话就很麻烦了. 所以,这个时候,就存在创建索引模 ...

  5. ElasticStack学习(八):ElasticSearch索引模板与聚合分析初探

    一.Index Template与Dynamic Template的概念 1.Index Template:它是用来根据提前设定的Mappings和Settings,并按照一定的规则,自动匹配到新创建 ...

  6. Elasticsearch索引模板-转载

    转载地址:https://dongbo0737.github.io/2017/06/13/elasticsearch-template/#similar_posts Elasticsearch索引模板 ...

  7. Elasticsearch学习笔记——索引模板

    在索引模板里面,date类型的字段的format支持多种类型,在es中全部会转换成long类型进行存储,参考 https://zhuanlan.zhihu.com/p/34240906 一个索引模板范 ...

  8. Sql Server来龙去脉系列之四 数据库和文件

        在讨论数据库之前我们先要明白一个问题:什么是数据库?     数据库是若干对象的集合,这些对象用来控制和维护数据.一个经典的数据库实例仅仅包含少量的数据库,但用户一般也不会在一个实例上创建太多 ...

  9. 不可或缺 Windows Native 系列文章索引

    [源码下载] 不可或缺 Windows Native 系列文章索引 作者:webabcd 1.不可或缺 Windows Native (1) - C 语言: hello c 介绍不可或缺 Window ...

随机推荐

  1. angularJS 单页面 两个及以上个 ng-app 的处理方式

    <div ng-app="myApp1" ng-controller="myCtrl1"> 名: <input type="text ...

  2. 初学jboss

    1.简单安装-环境变量配置-创建控制台用户并访问控制台.   下载了windows版的jboss服务器(jboss-as-7.1.1.Final)     依赖JDK1.6以上版本,jdk环境变量等就 ...

  3. Flask入门邮件同步与异步发送(九)

    ​ 应用场景: 用户在注册或者密码丢失等过程中,账号绑定邮箱,用户在进行身份认证的过程中,电子邮箱确实是一种很常用的方式,Python中提供了smtplib可以实现发送电子邮件功能,Flask框架也有 ...

  4. SQLite的.NET应用自适应32位/64位系统 z

    如果一个.NET应用要自适应32位/64位系统,只需要在项目的“目标平台”设置为“Any CPU”.但是如果应用中使用了SQLite,情况就不同了. SQLite的.NET开发包来自是System.D ...

  5. day5-基础 函数

     函数 函数一词来源于数学,但编程中的「函数」概念,与数学中的函数是有很大不同的,具体区别,我们后面会讲,编程中的函数在英文中也有很多不同的叫法.在BASIC中叫做subroutine(子过程或子程序 ...

  6. 描边时消除锯齿SetSmoothingMode

    SmoothingModeAntiAlias 指定消除锯齿的呈现. SmoothingModeDefault 指定默认模式. SmoothingModeHighQuality 指定高质量.低速度呈现. ...

  7. 学习和运用scrum

    作为长大的大三老腊肉,我们已经在长大生活了两年多,对于什么是长大人最想完善的校园需求.最想拥有的校园服务媒介也有了更加深切的体会. 于是,GoodJob小团队blingbling闪现啦!! GoodJ ...

  8. python入门24 json模块

    现在很多接口传参和响应都是json串. json.dumps()  python对象转化为json字符串 json.loads()  json字符串转化为python对象.[]转变成list,{}转变 ...

  9. NO.006-2018.02.11《卜算子·我住长江头》宋代:李之仪

    卜算子·我住长江头_古诗文网(bǔ) 卜算子·我住长江头 宋代:李之仪 我住长江头,君住长江尾.日日思君不见君,共饮长江水. 我居住在长江上游,你居住在长江下游. 天天想念你却见不到你,共同喝着长江的 ...

  10. 设计模式——原型模式(Prototype Pattern)

    原型模式:用原型实例制定创建对象的种类,并且通过拷贝这些原型创建新的对象. UML 图: 原型类: package com.cnblog.clarck; /** * 原型类 * * @author c ...