让我们采取以下方案。
我有一个指向索引I1的别名A1。现在,我想使用ES的rollOver功能并创建索引I2并使别名指向I1和I2。
我是否可以随时继续翻身并使我的别名A1指向最后2个索引,或者通常最后一个' n'指数?
答案 0 :(得分:1)
您可以将一个别名指向多个索引,如下所示:
POST /_aliases
{
"actions" : [
{ "add" : { "indices" : ["l1", "l2"], "alias" : "A1" } }
]
}
甚至将别名指向通配符索引模式,如下所示:
POST /_aliases
{
"actions" : [
{ "add" : { "index" : "l*", "alias" : "A1" } }
]
}
编辑:使用翻转,您只能将别名指向一个索引 - 最新索引。如果你想要一个指向最后2个索引,n个索引或与模式l*
匹配的所有索引的别名,你必须使用我在上面显示的请求创建一个额外的别名。
EDIT 2 :如果我想在索引中维护30天的日志,我就是这样做的。我坚持认为指数的命名为' l1' ' A1'的别名。在前30天之后,将创建一个名为l000002的新索引(命名约定增加最后一个索引的数量和零填充,长度为6),别名A1
将指向索引l000002 。我会创建一个第二个别名来引用' l *'就像你最初想要的那样。
PUT /l1
{ "aliases": { "A1": {} } }
POST /A1/_rollover
{ "conditions": { "max_age": "30d" } }
POST /_aliases
{
"actions" : [
{ "add" : { "index" : "l*", "alias" : "A2" } }
]
}