2016-04-25 145 views
0

我們希望將我們的數據庫的一部分從PostgreSQL轉移到Elastic:基本上我們想要將三個表(Properties,ListingsAddresses)合併到單個文檔中。RoR:從PostgreSQL遷移到Elastic

我找不到任何標準工具和可能,因爲我們有一個Ruby on Rails應用程序中,pimpliest和最可靠的方法將是寫一個遷移將只通過該模型迭代,他們撰寫成單文件並保存到Elastic。

該任務似乎並不複雜,但因爲這是我第一次使用Elastic的經驗,所以我想與社區進行覈對。

感謝。

回答

1

我最不喜歡的是JDBC importer。但是,我認爲編寫自己的腳本可能同樣快。

有一個postgres函數row_to_json,它會將結果行轉換爲JSON,然後發佈到elasticsearch中。我沒有意識到會自動爲你做這件事。假設它不是數十億行,我會堅持你的計劃,編寫一個簡短的腳本來運行你的查詢,然後HTTP將結果發佈到elasticsearch中。

您需要決定兩件事:索引名稱和文檔類型。

一些注意事項:

  • 像Postgres的關係型數據庫,並最終一致性文檔存儲像elasticsearch之間的一致性模型有很大的不同。你應該意識到這些差異和它們的缺點。
  • 您可能希望elasticsearch中的數據被去標準化,因爲沒有可靠的聯接方式。
+0

謝謝!我不知道可以在Elastic中強制執行數據一致性。 – lessless