2014-03-19 51 views
0

我有消耗RSS提要,使他們搜索通過執行以下步驟的應用:把記錄到Elasticsearch指數的關係數據庫之前

  1. 從進料URL
  2. 拉動物品儲存在該數據一個關係數據庫
  3. 索引數據Elasticsearch

我想扭轉這個過程,使我可以使用the RSS River Elasticsearch plugin從FE提取數據編輯。但是,這個插件直接與Elasticsearch集成,繞過了我的關係數據庫(這對於依賴於每個數據庫中有記錄的應用程序的其他部分都是一個問題)。

當新文章被索引(和刪除索引)時,我如何讓Elasticsearch通知數據庫?

編輯

目前我使用紅寶石與一個PostgreSQL數據庫的Rails 4。在後臺使用Sidekiq來獲取RSS源以管理作業。他們直接進入PG,然後由Elasticsearch索引。我正在使用Chewy爲ES索引提供一個接口。它不支持像我正在尋找的回調(沒有Ruby庫做afaik?)。

搜索查詢ES的匹配,然後從PG加載記錄以顯示結果。

+0

你能提供更多關於使用技術的信息嗎?你使用哪種語言來實現你的實現?哪個dbms?原因是例如使用django-haystack,您可以將所有數據編入正常數據庫,並且它會負責更新或刪除文檔。 – paweloque

+0

編輯的問題與堆棧上的更多細節。 –

回答

1

聽起來好像您正在尋找this feature request中所述的通知/觸發功能。在沒有該功能的情況下,我認爲用戶「cravergara」在該主題中提出的方法是最好的選擇 - 也就是說,只要索引文章,就可以更改RSS河流Elasticsearch插件以更新數據庫。

這將處理索引要求。要同步刪除索引,您應該確保刪除Elasticsearch文檔的任何代碼也會刪除相應的數據庫記錄。