2015-02-24 46 views
0

的Elasticsearch文檔describes aliases作爲特徵零停機重新索引數據:爲什麼Elasticsearch別名不是唯一的

  1. 創建新的索引和索引整個數據
  2. 讓您的別名指向新的索引
  3. 刪除舊索引

這將是一個很棒的功能,如果別名是唯一的,但可能一個別名指向多個索引。考慮到可能刪除舊索引失敗,我的應用程序可能會說兩個可能不同步的索引。更糟的是:應用程序不知道這一點。

爲什麼可以重用別名?

回答

2

它允許您輕鬆地將多個索引單獨使用並與其他索引一起使用。例如,在有時您想要查詢最近(日誌 - 最近的別名)並且有時想要查詢所有內容(日誌別名)的記錄索引時,這非常有用。有可能有很多其他用例,但這個彈出爲我的第一個。

按的文檔,你可以同時發送刪除,並添加一個請求:

curl -XPOST 'http://localhost:9200/_aliases' -d ' 
{ 
    "actions" : [ 
     { "remove" : { "index" : "test1", "alias" : "alias1" } }, 
     { "add" : { "index" : "test2", "alias" : "alias1" } } 
    ] 
}' 

之後成功,你可以刪除舊的索引,如果失敗,你只會有一個額外的指數採取了一些空間直到清理完畢。

+0

感謝您的回答!日誌示例聽起來像是一個很好的用例,但我仍然不確定是否應該使用它來定期重新綁定數據。如果elasticsearch允許我創建索引兩次,它只是感覺錯誤。 – lefloh 2015-02-24 15:59:02

相關問題