【发布时间】:2015-02-24 23:25:35
【问题描述】:
Elasticsearch 文档 describes aliases 作为零停机时间重新索引数据的功能:
- 创建新索引并对整个数据进行索引
- 让别名指向新索引
- 删除旧索引
如果别名是唯一的,这将是一项很棒的功能,但一个别名可能指向多个索引。考虑到旧索引的删除可能会失败,我的应用程序可能会与两个可能不同步的索引说话。更糟糕的是:应用程序对此一无所知。
为什么可以重用别名?
【问题讨论】:
标签: elasticsearch
Elasticsearch 文档 describes aliases 作为零停机时间重新索引数据的功能:
如果别名是唯一的,这将是一项很棒的功能,但一个别名可能指向多个索引。考虑到旧索引的删除可能会失败,我的应用程序可能会与两个可能不同步的索引说话。更糟糕的是:应用程序对此一无所知。
为什么可以重用别名?
【问题讨论】:
标签: elasticsearch
它允许您轻松拥有多个索引,这些索引既可以单独使用,也可以与其他索引一起使用。例如,当有一个日志索引时,这很有用,有时您想查询最新的(日志最近别名),有时又想查询所有内容(日志别名)。可能还有很多其他用例,但对我来说这是第一个弹出的。
根据文档,您可以同时发送删除和添加请求:
curl -XPOST 'http://localhost:9200/_aliases' -d '
{
"actions" : [
{ "remove" : { "index" : "test1", "alias" : "alias1" } },
{ "add" : { "index" : "test2", "alias" : "alias1" } }
]
}'
成功后,您可以删除旧索引,如果失败,您将有一个额外的索引占用一些空间,直到它被清除。
【讨论】: