别名的意义:索引的别名就像域名域名一样,例如百度的域名是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"
}
}
]
}