我正在开发一个java应用程序来创建一个elasticSearch索引。索引目前每周在开发机器上构建,并且集群在其他(测试和产品)机器上的现有集群上手动复制。新方案仍然涉及每周从头开始重建索引。
我正在使用5.6.3和低和&高级休息客户。经过一些初步调查(并获得了相当多的帮助)后,我的目标是使用别名进行2(或3)阶段开发。
最初,我将对dev上的现有索引进行别名,将所有新数据写入别名,然后使用别名替换索引。我能想到的其他替代方案是
每次重新创建群集,我认为永远都是这样 一个相当手动的过程,或
重新创建索引并将其移动。索引无法重命名 (或者我相信,这将总是更加笨重,因为它将涉及在一台机器上创建索引,从实时机器中删除它们然后读取它们。目前我们在集群中有一个节点,所以这将 涉及相当多的停机时间(尽管如果别名结果 我想我们可以添加另一个节点并一次替换索引一个节点。
所以我选择了
所以回答这个问题。我真的想直接创建索引的空别名。据我所知,这是不可能的。在其他页面中,这个github issue.虽然来自旧版本,但似乎这样的举动会适得其反,而不是弹性想引入的东西。所以我只是想知道是否
答案 0 :(得分:1)
“添加评论作为答案”:正确。应用程序无需担心数据是从19日还是20日。应用程序可以简单地指向别名appind。完成数据恢复/加载后,您可以使用从旧索引到新索引的单个POST请求交换别名。您可以在同一请求中执行删除操作并添加操作,以将别名从旧索引交换到新索引。