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萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章