Elasticsearch Index Template

1)環境準備

啓動Elasticsearch https://blog.csdn.net/qq_36918149/article/details/104221934
啓動Kinbana https://blog.csdn.net/qq_36918149/article/details/104224625

2) 什麼是Index Template?

在這裏插入圖片描述

3) Index Template 有哪些應用場景?

在這裏插入圖片描述

4)Index Template 的工作方式

在這裏插入圖片描述

5)demo

演示一:

#數字字符串被映射成text,日期字符串被映射成日期
PUT ttemplate/_doc/1
{
	"someNumber":"1",
	"someDate":"2019/01/01"
}
#查看索引情況
GET ttemplate/_mapping

結果:someDate 被識別爲Date,someNumber沒有被識別爲數字類型
在這裏插入圖片描述

#Create a default template :分片數爲1,副本數爲1
PUT _template/template_default 
{
  "index_patterns": ["*"],
  "order" : 0,
  "version": 1,
  "settings": {
    "number_of_shards": 1,
    "number_of_replicas":1
  }
}

#自定義template:index以test*開頭,分片數爲1,副本數爲2,date類型不自動識別,數字類型自動識別
PUT /_template/template_test
{
    "index_patterns" : ["test*"],
    "order" : 1,
    "settings" : {
    	"number_of_shards": 1,
        "number_of_replicas" : 2
    },
    "mappings" : {
    	"date_detection": false,
    	"numeric_detection": true
    }
}
#查看template信息
GET /_template/temp*

結果:template_test、template_default 兩個template 都成功創建,但order 數字不一樣
在這裏插入圖片描述

#寫入新的數據,index以test開頭
PUT testtemplate/_doc/1
{
	"someNumber":"1",
	"someDate":"2019/01/01"
}

#查看mapping、setting

GET testtemplate/_mapping
get testtemplate/_settings

結果:分片數爲1,副本數爲2,date類型不自動識別,數字類型自動識別,最終 index爲 template_test生效
在這裏插入圖片描述
演示二:創建index 中設置的setting 優先級最高,次演示依賴演示一數據

#設置 副本數量爲5
PUT testmy
{
	"settings":{
		"number_of_replicas":5
	}
}

put testmy/_doc/1
{
  "key":"value"
}

get testmy/_settings

結果:副本數量爲5,說明創建index時候設置的setting優先級最高
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章