在创建索引模板的同时,可以加入别名的控制
1 创建索引模板
DELETE _index_template/student_template_001
POST _index_template/student_template_001
{
"index_patterns": [
"student-*"
],
"template": {
"settings": {
"number_of_shards": 3
},
"mappings": {
"properties": {
"id": {
"type": "long"
},
"name": {
"type": "text",
"fields": {
"key": {
"type": "keyword"
}
}
},
"year": {
"type": "integer",
"fields": {
"key": {
"type": "keyword"
}
}
}
}
},
"aliases": {
"student": {
"filter": {
"term": {
"year": "1"
}
}
}
}
}
}
在 aliases 中设置了 student 别名,并且在别名中设置了 filter。
2 添加数据
PUT student-001/_doc/1?routing=1
{
"id": 1,
"name": "student-a",
"year": 1
}
PUT student-001/_doc/2?routing=2
{
"id": 2,
"name": "student-b",
"year": 2
}
PUT student-001/_doc/3?routing=3
{
"id": 3,
"name": "student-c",
"year": 3
}
PUT student-001/_doc/4?routing=3
{
"id": 4,
"name": "student-c",
"year": 1
}
PUT student-001/_alias/student_route_1
{
"routing": "1"
}
PUT student-001/_alias/student_year_1
{
"filter": {
"term": {
"year": "1"
}
}
}
3 查询数据
GET student/_search
可以成功查询出 "year": 1 的数据,查询结果:
{
"took" : 2,
"timed_out" : false,
"_shards" : {
"total" : 3,
"successful" : 3,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : {
"value" : 3,
"relation" : "eq"
},
"max_score" : 1.0,
"hits" : [
{
"_index" : "student-001",
"_type" : "_doc",
"_id" : "6-nnM3gB_jopoKW0Srd_",
"_score" : 1.0,
"_source" : {
"id" : 5,
"name" : "student-5",
"year" : 1
}
},
{
"_index" : "student-001",
"_type" : "_doc",
"_id" : "4",
"_score" : 1.0,
"_routing" : "3",
"_source" : {
"id" : 4,
"name" : "student-c",
"year" : 1
}
},
{
"_index" : "student-001",
"_type" : "_doc",
"_id" : "1",
"_score" : 1.0,
"_routing" : "1",
"_source" : {
"id" : 1,
"name" : "student-a",
"year" : 1
}
}
]
}
}
上一个记录:别名控制
https://blog.youkuaiyun.com/u012463871/article/details/115152010