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优先级最高