elasticsearch 5.x 系列之四(索引模板的使用,详细得不要不要的)
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 系列之四(索引模板的使用,详细得不要不要的)的更多相关文章
- ElasticSearch(六):索引模板
ElasticSearch(六):索引模板 学习课程链接<Elasticsearch核心技术与实战> Index Template Index Template - 帮助你设定Mappin ...
- 实战DeviceIoControl系列之四:获取硬盘的详细信息
Q 用IOCTL_DISK_GET_DRIVE_GEOMETRY IOCTL_STORAGE_GET_MEDIA_TYPES_EX只能得到很少的磁盘参数,我想获得包括硬盘序列号在内的更加详细的信息,有 ...
- ES 10 - Elasticsearch的索引别名和索引模板
目录 1 索引模板概述 1.1 什么是索引模板 1.2 索引模板中的内容 1.3 索引模板的用途 2 创建索引模板 3 查看索引模板 4 删除索引模板 5 模板的使用建议 5.1 一个index中不能 ...
- Elasticsearch之索引模板index template与索引别名index alias
为什么需要索引模板? 在实际工作中针对一批大量数据存储的时候需要使用多个索引库,如果手工指定每个索引库的配置信息(settings和mappings)的话就很麻烦了. 所以,这个时候,就存在创建索引模 ...
- ElasticStack学习(八):ElasticSearch索引模板与聚合分析初探
一.Index Template与Dynamic Template的概念 1.Index Template:它是用来根据提前设定的Mappings和Settings,并按照一定的规则,自动匹配到新创建 ...
- Elasticsearch索引模板-转载
转载地址:https://dongbo0737.github.io/2017/06/13/elasticsearch-template/#similar_posts Elasticsearch索引模板 ...
- Elasticsearch学习笔记——索引模板
在索引模板里面,date类型的字段的format支持多种类型,在es中全部会转换成long类型进行存储,参考 https://zhuanlan.zhihu.com/p/34240906 一个索引模板范 ...
- Sql Server来龙去脉系列之四 数据库和文件
在讨论数据库之前我们先要明白一个问题:什么是数据库? 数据库是若干对象的集合,这些对象用来控制和维护数据.一个经典的数据库实例仅仅包含少量的数据库,但用户一般也不会在一个实例上创建太多 ...
- 不可或缺 Windows Native 系列文章索引
[源码下载] 不可或缺 Windows Native 系列文章索引 作者:webabcd 1.不可或缺 Windows Native (1) - C 语言: hello c 介绍不可或缺 Window ...
随机推荐
- 【Leetcode】【Medium】Single Number
Given an array of integers, every element appears twice except for one. Find that single one. Note:Y ...
- 离线安装wxpython
离线安装wxpython 前言 由于工作环境,我的工作机是在离线环境下的,没法连接外网.但是自己又想学习一下wxpython,只好自己手动离线安装,本来以为很简单的,但是实际上...一言难尽. 基本环 ...
- 【Hibernate那点事儿】—— Hibernate知识总结
前言: 上一篇简单的讲解了下Hibernate的基础知识.这里对Hibernate比较重要的一些知识点,进行总结和归纳. 手码不易,转载请注明!——xingoo 总结的知识点: 1 关于hiberna ...
- 源码安装mysql5.6.37
MYSQL 源码安装: 修改参数文件:vi /etc/security/limits.confmysql soft nproc 2047mysql hard nproc 16384mysql soft ...
- typescript import需要注意的地方以及一点疑问
在使用 import {XXX} from './xxx'的时候,到浏览器上会报错,提示找不到xxx文件,原因在于没有加入后缀,这时候要写成import {XXX} from './xxx.js'注意 ...
- 【[SDOI2014]旅行】
听说这是动态开点主席树的板子题,但是发现我还不会,于是就来写一写 其实跟主席树一个样子的 这里就是存个板子吧 #include<cstdio> #include<cstring> ...
- sublime重构变量
选中变量后按下Ctrl+D可批量修改变量名
- 关于eclipse中引入项目报错或者没有JRE System Library问题(jre报错)或者jre1.7(8)改为jre1.8(7)等问题
解决方法: 右键项目工程-->>properties->>java bulid path -->>>libraries -->>add libra ...
- js读取跨域webapi传送回来的cookie 要点
1.webapi 返回cookie时,httpOnly=false 2.webapi 接收Origins 不能为* 3.js端 请求时,withCredentials必须: true //`wit ...
- Java 加密Excel文件(打开时需输入密码)
收集:author: lifq package com.XXX.XXX.utils; import java.io.IOException; import com.jxcell.CellExcepti ...