gpt4 book ai didi

amazon-web-services - elasticsearch 数据的蓝/绿 "deployment"?

转载 作者:行者123 更新时间:2023-11-29 02:56:52 26 4
gpt4 key购买 nike

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

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

  • 此数据没有 API 或其他结构化来源
  • 它是直接手动编写成 HTML
  • 没有将一个条目与另一个条目区分开来的唯一标识符(我基本上将从 DOM 中提取大约 1,000-5,000 个条目)。

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

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

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

  • 我根据源变化的速度按某个时间表(每天/每周)运行提取过程
  • 每次运行过程都会产生另一个索引(或者可能是一个新的集群)。假设当前索引是 index-prod 并且进程构建的新索引是 index-rc (候选发布)
  • 它根据一些启发式方法(对条目数量的灵活速度检查、我们知道应该工作的示例查询等)验证 index-rc
  • 如果它是有效的,它要么:
    • A.慢慢地将查询翻转到新的集群/索引中
    • 或 B. 一次翻转到新的集群/索引

我计划使用 AWS Elastisearch Service 托管 elasticsearch 集群并可能使用 Route 53 CNAMEs 来制作一些东西(也许还有 ELB?)但我想知道 elasticsearch 本身是否有更隐含的支持来做到这一点?

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

最佳答案

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

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

关于amazon-web-services - elasticsearch 数据的蓝/绿 "deployment"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40384919/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com