2016-06-07 102 views
1

別名自動更新我有以下滾動索引定義:ElasticSearch - 用於滾動索引

POST /_aliases 
{ 
    "actions": [ 
    { 
     "add": { 
     "index": "elmah_*", 
     "alias": "elmah_all" 
     } 
    } 
    ] 
} 

今天的偉大工程,它拿起我所有的現有每月滾動索引。問題是,當索引翻新到新的一個月時,它會自動生成elmah_2016_06的新索引,但我的別名不會提取這個新索引。每個月我需要更新我的別名,通過運行此:

POST /_aliases 
{ 
    "actions": [ 
    { 
     "add": { 
     "index": "elmah_2016-06", 
     "alias": "elmah_all" 
     } 
    } 
    ] 
} 

有什麼辦法讓ES自動檢測它嗎?

回答

1

是的,你可以使用模板。

PUT /_template/my_elmah_template 
{ 
    "template" : "elmah_*", 
    "alias" : { 
    "elmah_all" : { } 
    } 
} 

由於JSON需要field : value,空對象是必要的惡意。

只要創建了匹配索引(基於template參數),它就會自動將模板應用到它。在這種情況下,模板唯一要做的就是向其添加一個別名。

您也可以use a template to set settings and mappings