码迷,mamicode.com
首页 > 其他好文 > 详细

Elasticsearch 【索引模板 index templates】

时间:2015-11-13 17:15:32      阅读:736      评论:0      收藏:0      [点我收藏+]

标签:

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

一、

索引模板,定义模板,当新索引创建时,自动匹配,并应用定义的模板

新增索引模板(index templates)

我们新建一个索引模板template_1 设置它的主分片为1个。类型有type1且_source disabled

PUT /_template/template_1
{
  "template": "t-*",
  "settings": {
    "number_of_shards":1
  },
  "mappings": {
    "type1":{
      "_source":{
        "enabled":false
      }
    }
  }
}

POST /t-1

GET /t-1/_mapping
{
   "t-1": {
      "mappings": {
         "type1": {
            "_source": {
               "enabled": false
            },
            "properties": {}
         }
      }
   }
}


例子:我们想再创建某个索引时,还为其创建alias

PUT /_template/template_2
{
  "template": "s-*",
  "settings": {
    "number_of_shards":1
  },
  "aliases":{
    "alias1":{
      
    },
    "{index}-alias":{
      
    }
  }
}

POST /s-1

GET /s-1

当创建多个索引模板时,且创建某个索引,被多个索引模板匹配,那么settings和mappings将会合并到一个配置中,并应用这个索引上,合并的顺序由索引模板的order属性来控制。order大的会覆盖之前的配置

PUT /_template/template_1
{
    "template":"*",
    "order":0,
    "settings":{
        "number_of_shards":1
    },
    "mappings":{
        "type1":{
            "_source":{
                "enabled":false
            }
        }
    }
}

PUT /_template/template_2
{
    "template":"tt-*",
    "order":1,
    "settings":{
        "number_of_shards":1
    },
    "mappings":{
        "type1":{
            "_source":{
                "enabled":true
            }
        }
    }
}

POST /tt-1            => 会被上述两个模板都匹配,对于_source属性 order=1的会覆盖order=0 即 enabled:true


文件配置:我们可以再 config/templates目录下添加json的配置文件


Elasticsearch 【索引模板 index templates】

标签:

原文地址:http://my.oschina.net/u/204498/blog/530011

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!