別名的意義:索引的別名就像域名域名一樣,例如百度的域名是www.baidu.com,但是你並不知道這個域名對應的是哪個ip,能翻遍我們切換索引。
查看索引:GET _cat/indices(查看所有索引)
查看別名:GET _cat/aliases(查看所有別名和別名與索引的對應關係)
例如定時任務需要重新創建用戶表,我們今天是20191228,我們創建一個user20191228索引:
PUT users20191228
{
"mappings":{
"users20191228":{
"properties":{
"name":{
"type":"text"
},
"user_id":{
"type":"keyword"
}
}
}
}
}
然後執行GET _cat/indices會發現多了一個索引。然後我們開始給索引起別名,把user20191228別名叫users:
POST /_aliases
{
"actions": [
{
"add": {
"index": "users20191228",
"alias": "users"
}
}
]
}
這樣我們再代碼中就可以使用users這個索引了。第二天我們會重新新建一張user20191229的索引,這時候我們只需要刪除舊的別名,同時寫入新的別名即可。
POST /_aliases
{
"actions": [
{
"add": {
"index": "users20191229",
"alias": "users"
}
},
{
"remove": {
"index": "users20191228",
"alias": "users"
}
}
]
}