【Elasticsearch7.x】(7) elasticsearch索引模板

前言 es 版本 7.4

索引模板用于定义在创建新的索引时自动应用的模板,可以创建普通索引模板,也可以创建别名索引模板等

template大致分成settingmappings两部分:

  1. settings主要作用于index的一些相关配置信息,如分片数、副本数,tranlog同步条件、refresh等。

  2. mappings主要是一些说明信息,大致又分为_all、_source、prpperties这三部分。

mappings

mappings 大致又分为_all、_source、prpperties这三部分。

  • _all:主要指的是AllField字段,我们可以将一个或多个都包含进来,在进行检索时无需指定字段的情况下检索多个字段。设置"_all" : {"enabled" : true}

  • _source:主要指的是SourceField字段,Source可以理解为ES除了将数据保存在索引文件中,另外还有一份源数据。_source字段在我们进行检索时相当重要,如果在{“enabled” : false}情况下默认检索只会返回ID, 你需要通过Fields字段去到索引中去取数据,效率不是很高。但是enabled设置为true时,索引会比较大,这时可以通过Compress进行压缩和inclueds、excludes来在字段级别上进行一些限制,自定义哪些字段允许存储。

  • properties:这是最重要的步骤,主要针对索引结构和字段级别上的一些设置。

咱们通常在elasticsearch中 post mapping信息,每重新创建索引便到设置mapping,分片,副本信息。非常繁琐。强烈建议大家通过设置template方式设置索引信息。设置索引名,通过正则匹配的方式匹配到相应的模板。ps:直接修改mapping的优先级>索引template。索引匹配了多个template,当属性等配置出现不一致的,以order的最大值为准,order默认值为0

索引模板API

查看单个索引模板

curl -XGET "${ES_URL}/_template/ftp_download_log?pretty"

查看全部索引模板

curl -XGET "${ES_URL}/_template?pretty"

模糊匹配得到多个模板信息

GET /_template/temp* 

批量查看模板

GET /_template/template_1,template_2

删除索引模板

curl -XDELETE "${ES_URL}/_template/ftp_download_log"

修改索引模板

curl -XPUT "${ES_URL}/_template/ftp_download_log" -H 'Content-Type: application/json' -d '
{
"index_patterns": ["ftp_download_log_*"],
"settings": {
    "index": {
      "number_of_shards": 12,
      "number_of_replicas": 0,
      "refresh_interval" : "30s"
    }
  },
  "mappings": {
    "properties": {
      "@timestamp": {
        "type": "date"
      },
      "fileDataTimeMillis": {
        "type": "date"
      },
      "ftpServerName": {
        "type": "keyword"
      }
    }
   }
}'
  1. 注意点一:

多个模板同时匹配,以order顺序倒排,order越大,优先级越高

  1. 注意点二:

更新索引模板时,不能使用部分更新操作,必须是全量更新。

对于第二点:举个例子,我们只想更新某个索引模板的setting,而不想更新索引模板的mappings,这样的话,我们在使用更新API时,时候可以直接更新Settings,而不写Mappings,答案是否定的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值