ElasticSearch(六):索引模板

学习课程链接《Elasticsearch核心技术与实战》

## Index Template
* Index Template - 帮助你设定`Mappings`和`Settings`,并按照一定的规则,自动匹配到新创建的索引上
- 模板仅在一个索引被创建时,才会产生作用。修改模板不会影响已创建的索引
- 你可以设定多个索引模板,这些设置会被`merge`在一起
- 你可以指定`order`的数值,控制`merging`的过程

  1. #示例一:对所有的索引有效
  2. PUT _template/template_default
  3. {
  4. "index_patterns": ["*"],
  5. "order" : 0,
  6. "version": 1,
  7. "settings": {
  8. "number_of_shards": 1,
  9. "number_of_replicas":1
  10. }
  11. }
  1. #示例二:对以test开头索引有效
  2. PUT /_template/template_test
  3. {
  4. "index_patterns" : ["test*"],
  5. "order" : 1,
  6. "settings" : {
  7. "number_of_shards": 1,
  8. "number_of_replicas" : 2
  9. },
  10. "mappings" : {
  11. "date_detection": false,
  12. "numeric_detection": true
  13. }
  14. }
  1. #查看template信息
  2. GET /_template/template_default
  3. GET /_template/temp*
  1. #删除template信息
  2. DELETE /_template/template_default
  3. DELETE /_template/template_test
  • 如何使用 Index Template,当一个索引被创建时

    • 默认应用Elasticsearch默认的settingsmappings
    • 然后应用order数值低的 IndexTemplate 中的设定
    • 再应用order数值高的 IndexTemplate 中的设定,之前的设定会被覆盖
    • 最后应用创建索引时,用户所指定的settingsmappings,并覆盖之前模板中的设定

## Dynamic Template
Dynamic Template 是定义在具体索引`mappings`中的,根据Elasticsearch识别的数据类型,结合字段名称,来动态设定字段类型:
* 所有的字符串类型都设定成`keyword`,或者关闭`keyword`字段
* `is`开头的字段设置成`boolean`
* `long_`开头的都设置成`long`类型

  1. #示例一:Dynaminc Mapping 根据类型和字段名
  2. PUT my_index
  3. {
  4. "mappings": {
  5. "dynamic_templates": [
  6. {
  7. "strings_as_boolean": {
  8. "match_mapping_type": "string",
  9. "match":"is*",
  10. "mapping": {
  11. "type": "boolean"
  12. }
  13. }
  14. },
  15. {
  16. "strings_as_keywords": {
  17. "match_mapping_type": "string",
  18. "mapping": {
  19. "type": "keyword"
  20. }
  21. }
  22. }
  23. ]
  24. }
  25. }
  1. #示例二:
  2. PUT my_index
  3. {
  4. "mappings": {
  5. "dynamic_templates": [
  6. {
  7. "full_name": {
  8. "path_match": "name.*",
  9. "path_unmatch": "*.middle",
  10. "mapping": {
  11. "type": "text",
  12. "copy_to": "full_name"
  13. }
  14. }
  15. }
  16. ]
  17. }
  18. }

ElasticSearch(六):索引模板的更多相关文章

  1. 【基础篇】elasticsearch之索引模板Template[转]

    一,模板简述:template大致分成setting和mappings两部分:索引可使用预定义的模板进行创建,这个模板称作Index templates.模板设置包括settings和mappings ...

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

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

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

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

  4. elasticsearch 5.x 系列之四(索引模板的使用,详细得不要不要的)

    1,首先看一下下面这个索引模板 curl -XPUT "master:9200/_template/template_1?pretty" -H 'Content-Type: app ...

  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. ES索引模板——就是在新建索引时候指定的正则匹配来设置mapping而已,对于自动扩容有用

    索引模板 扩容设计 » 索引模板 Elasticsearch 不要求你在使用一个索引前创建它. 对于日志记录类应用,依赖于自动创建索引比手动创建要更加方便. Logstash 使用事件中的时间戳来生成 ...

  9. Elasticsearch7.X 入门学习第八课笔记-----索引模板和动态模板

    原文:Elasticsearch7.X 入门学习第八课笔记-----索引模板和动态模板 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接: ...

随机推荐

  1. redis安装详细

      1.cd命令到你的下载文件夹下 2.输入命令下载redis ,可以自己选择下载的路径,redis表示版本号 wget http://download.redis.io/releases/redis ...

  2. Node.js入门教程 第五篇 (Express框架)

    Express框架 Express是适用于Node.js web的框架,提供了大量实用功能,例如路由功能及http功能. Express 框架核心特性: 可以设置中间件来响应 HTTP 请求. 定义了 ...

  3. 前端css杂记

    1em等于16px,页面默认是16px,一个字宽高都等于16px; 当行内元素display:inline的元素设置float:left浮动后,display值也被设置成block;总结:无论行内元素 ...

  4. Java中NIO及基础实现

    NIO:同步非阻塞IO 来源:BIO是同步阻塞IO操作,当线程在处理任务时,另一方会阻塞着等待该线程的执行完毕,为了提高效率,,JDK1.4后,引入NIO来提升数据的通讯性能 NIO中采用Reacto ...

  5. Hive 官方手册翻译 -- Hive Transactions (Hive 事务)

    由 Alan Gates创建, 最终由 Andrew Sherman修改于2018年8月7日 原文链接:https://cwiki.apache.org/confluence/display/Hive ...

  6. 编译 lame for iOS

    网上找了许多编译lame的教程,结果都是编译失败,多次尝试后发现是编译脚本放错路径了,记录下编译的过程,把编译脚本放到源码文件夹中和修改编译脚本中的目录是关键: 一.首先去Lame官网 http:// ...

  7. Numpy数组解惑

    参考: 理解numpy的rollaxis与swapaxes函数:https://blog.csdn.net/liaoyuecai/article/details/80193996 Numpy数组解惑: ...

  8. python程序编译成exe文件

    最近越来越喜欢使用python写工具.使用的时候,发现程序内部成员python安装目录常常不同,如果用bat双击执行,常常需要修改从svn上down下来的bat文件中python.exe的路径.而给策 ...

  9. golang 服务平滑重启小结

    背景 golang 程序平滑重启框架 supervisor 出现 defunct 原因 使用 master/worker 模式 背景 在业务快速增长中,前期只是验证模式是否可行,初期忽略程序发布重启带 ...

  10. Python3数据分析与挖掘建模实战 ☝☝☝

    Python3数据分析与挖掘建模实战 Python数据分析简介 Python入门 运行:cmd下"python hello.py" 基本命令: 第三方库 安装 Windows中 p ...