0

我有一个应用程序,它使用 RSS 提要并通过执行以下步骤使它们可搜索:

  1. 从提要 URL 中提取文章
  2. 将该数据存储在关系数据库中
  3. 在 Elasticsearch 中索引数据

我想反转这个过程,以便我可以使用RSS River Elasticsearch 插件从提要中提取数据。然而,这个插件直接与 Elasticsearch 集成,绕过了我的关系数据库(这对于依赖于每篇文章在数据库中记录的应用程序的其他部分来说是一个问题)。

当新文章被索引(和取消索引)时,我如何让 Elasticsearch 通知数据库?

编辑

目前我正在使用 Ruby on Rails 4 和 PostgreSQL 数据库。RSS 提要使用Sidekiq在后台获取以管理作业。它们直接进入 PG,然后由 Elasticsearch 索引。我正在使用Chewy为 ES 索引提供接口。它不支持我正在寻找的回调(没有 Ruby 库做 afaik?)。

搜索查询 ES 以查找匹配项,然后从 PG 加载记录以显示结果。

4

1 回答 1

1

听起来您正在寻找此功能请求中描述的那种通知/触发功能。在没有该功能的情况下,我认为用户“cravergara”在该线程中建议的方法是您最好的选择——也就是说,您可以更改 RSS 河 Elasticsearch 插件,以便在文章被索引时更新您的数据库。

这将处理索引要求。要同步取消索引,您应该确保删除 Elasticsearch 文档的任何代码也会删除相应的数据库记录。

于 2014-03-21T16:04:51.157 回答