我有一个应用程序,它使用RSS源并通过执行以下步骤使它们可搜索:
我想颠倒此过程,以便我可以使用the RSS River Elasticsearch plugin从Feed中提取数据。但是,这个插件直接与Elasticsearch集成,绕过了我的关系数据库(这对于应用程序的其他部分来说是一个问题,这些部分依赖于每个文章在数据库中都有记录)。
如何在新文章编入索引(并取消索引)后让Elasticsearch通知数据库?
修改
目前我正在使用带有PostgreSQL数据库的Ruby on Rails 4。使用Sidekiq在后台获取RSS源以管理作业。它们直接进入PG,然后由Elasticsearch索引。我正在使用Chewy来提供ES索引的接口。它不支持像我正在寻找的回调(没有Ruby库做afaik?)。
搜索ES以查找匹配项然后从PG加载记录以显示结果。
答案 0 :(得分:1)
听起来您正在寻找this feature request中描述的那种通知/触发功能。在缺少该功能的情况下,我认为用户在该线程中建议的方法是" cravergara"是你最好的选择 - 也就是说,你可以改变RSS河流Elasticsearch插件,以便在文章编入索引时更新你的数据库。
这将处理索引要求。要同步取消索引,您应确保删除Elasticsearch文档的任何代码也删除相应的数据库记录。