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优先级最高
在这里插入图片描述

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