首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ElasticSearch RollOver索引-为什么别名不能指向多个索引?

ElasticSearch RollOver索引-为什么别名不能指向多个索引?
EN

Stack Overflow用户
提问于 2017-05-15 17:37:19
回答 1查看 5K关注 0票数 1

让我们来看看下面的场景。

我有一个别名A1,指向索引I1。现在,我想使用ES的rollOver特性并创建索引I2,并将别名指向I1和I2。

我可以一直滚动并使我的别名A1指向最后两个索引,或者通常是最后的'n‘索引吗?

EN

回答 1

Stack Overflow用户

发布于 2017-05-15 17:45:51

您可以将一个别名指向多个索引,如下所示:

代码语言:javascript
复制
POST /_aliases
{
    "actions" : [
        { "add" : { "indices" : ["l1", "l2"], "alias" : "A1" } }
    ]
}

甚至将别名指向通配符索引模式,如下所示:

代码语言:javascript
复制
POST /_aliases
{
    "actions" : [
        { "add" : { "index" : "l*", "alias" : "A1" } }
    ]
}

编辑:通过滚动,您只能将别名指向一个索引--最新索引。如果您想要一个指向最后2个索引、n个索引或所有匹配模式l*的索引的别名,那么您必须使用我前面显示的请求创建一个额外的别名。

编辑2:如果我想在索引中维护30天的日志,我就会这样做。我坚持将索引命名为'l1‘和别名'A1’。在头30天之后,将创建一个名为l000002的新索引(命名约定将增加最后一个索引的数量,并将长度为6的零填充),别名A1将指向索引l000002。我会创建第二个别名来引用'l*‘,就像您最初希望的那样。

代码语言:javascript
复制
PUT /l1
{ "aliases": { "A1": {} } }


POST /A1/_rollover  
{ "conditions": { "max_age": "30d" } }

POST /_aliases
{
    "actions" : [
        { "add" : { "index" : "l*", "alias" : "A2" } }
    ]
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43985624

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档