Elasticsearch 【索引模板 index templates】

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

1、shell

索引模板,定義模板,當新索引建立時,自動匹配,並應用定義的模板json

新增索引模板(index templates)
app

咱們新建一個索引模板template_1 設置它的主分片爲1個。類型有type1且_source disabledelasticsearch

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": {}
         }
      }
   }
}


例子:咱們想再建立某個索引時,還爲其建立aliaside

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大的會覆蓋以前的配置ui

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的配置文件spa

相關文章
相關標籤/搜索