Blue/Green "deployment" 的 elasticsearch 数据?

Blue/Green "deployment" of elasticsearch data?

我计划从网页中提取(本质上是在获得许可的情况下抓取)一些数据并将其存储在 elasticsearch 中(你知道,用于搜索)。

虽然我有权从网站上抓取数据,

当我将其存储在 es 中时,我计划将其放入一个索引和映射类型中,比如 thing

但是,随着时间的推移,来源(HTML 网页)可能会随着其中一些条目的 add/remove/change 内容而发生变化。由于源中没有标识符,我无法轻易识别新的(甚至更糟的是,删除的或更改的)。

我想让我的 es 索引保持最新,我想的是某种蓝绿机制:

我计划使用 AWS Elastisearch Service and could possibly concote something using Route 53 CNAMEs(也许还有 ELB?)托管 elasticsearch 集群,但我想知道 elasticsearch 本身是否有更隐含的支持来执行此操作?

本质上,我想将一个索引的数据换成另一个。

我想你可以用 Reindex API 来做这个。

我从 Whosebug 之外的另一个来源听到了这件事。

您不需要在索引之间交换整个数据...如果我没看错,您可以使用 Aliases 从实际版本更改为下一个索引版本。

为了慢慢改变查询端点,我还认为一些负载均衡器,比如 nginx,是最好的解决方案。网上有很多关于这个的cases