1. 使用别名的好处
- 在未来重建索引时,别名赋予了更多的灵活性。只需要修改别名指向额外新创建的索引。
- 滑动窗口类数据查询,比如:昨日数据,让yesterday别名始终指向昨天的索引。
2. 管理别名
使用专用的别名API端点和一系列操作来创建别名。每个操作是一个添加或删除的映射,外加这个操作所针对的索引和别名。
POST /_aliases
{
"actions": [
{
"add": {
"index": "date-20210629",
"alias": "yesterday"
}
},
{
"remove": {
"index": "date-20210628",
"alias": "yesterday"
}
}
]
}
使用http方法操作别名
/{index}/_alias/{alias}
index: 可以是多个索引或使用通配符
#创建别名
PUT /date-20210629,date-20210628/_alias/last_two_day
#查询某个索引全部别名
GET /date-20210629/_alias
# 返回
{
"date-20210629" : {
"aliases" : {
"last_two_day" : { },
"yesterday" : { }
}
}
}
#查询某个索引指定别名
GET /date-20210629/_alias/last_two_day
#查询全部索引的指定别名
GET /_alias/last_two_day
#删除别名
DELETE /date-20210628/_alias/last_two_day
3. 使用别名过滤器
别名还有一些其它特征,可以对正在执行的查询自动实现过滤
POST /_aliases
{
"actions": [
{
"add": {
"index": "get-together",
"alias": "es-groups",
"filter": {
"term": {
"relationship_type": "group"
}
}
}
}
]
}
GET /es-groups/_search