我定义了以下滚动索引:
POST /_aliases
{
"actions": [
{
"add": {
"index": "elmah_*",
"alias": "elmah_all"
}
}
]
}
Run Code Online (Sandbox Code Playgroud)
今天效果很好,它收集了我所有现有的每月滚动索引。问题是,当索引滚动到新的月份时,它会自动生成 的新索引elmah_2016_06,但是我的别名没有选择这个新索引。每个月我都需要通过运行以下命令来更新我的别名:
POST /_aliases
{
"actions": [
{
"add": {
"index": "elmah_2016-06",
"alias": "elmah_all"
}
}
]
}
Run Code Online (Sandbox Code Playgroud)
有没有办法让 ES 自动选择它?
是的,您可以使用模板。
PUT /_template/my_elmah_template
{
"template" : "elmah_*",
"alias" : {
"elmah_all" : { }
}
}
Run Code Online (Sandbox Code Playgroud)
空对象是必要的邪恶,因为 JSON 需要field : value.
每当创建匹配索引(基于template参数)时,它将自动将模板应用于它。在这种情况下,模板所做的唯一事情就是为其添加别名。
您还可以使用模板来设置设置和映射。
小智 5
pickypg 提供的答案是正确的,但有一个小错误。应该是"aliases"这样的:
PUT /_template/my_elmah_template
{
"template" : "elmah_*",
"aliases" : {
"elmah_all" : { }
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2274 次 |
| 最近记录: |