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

  • 从提要URL中提取文章
  • 将该数据存储在关系数据库中
  • 为Elasticsearch中的数据建立索引

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

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

    编辑

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

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

    最佳答案

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

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

    关于rss - 在关系数据库之前将记录放入Elasticsearch索引中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22494066/

    10-09 07:21
    查看更多