ElasticSearch-别名用法

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

 

 

 

发布了18 篇原创文章 · 获赞 7 · 访问量 4万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章