2013-02-11 59 views
11

我對mongodb和node.js都比較陌生,但最近一直爲我工作得很好,直到我達到了需要將全文搜索添加到我的網站的程度。從我的研究中,我發現Elasticsearch會非常合適,但我無法弄清楚如何使它與node.js和mongodb一起工作。我目前使用Heroku和MongoLab來託管我的應用程序。這是我的問題。如何獲得彈性搜索玩MongoDb和node.js?

  1. 如何託管Elasticsearch?
  2. 如何使我的所有mongo數據可用於elasticsearch我使用河流還是手動插入和刪除所有數據?

    我發現了一些這個river但我不太清楚如何自動發生這種情況以及在何處承載它。

  3. 如何從node.js查詢Elasticsearch?有沒有允許這個的包?

編輯:

問題2真的是什麼,我掙扎。我還包括了問題1和3,以幫助那些對這個主題感興趣並且來自谷歌的人。

+1

沒有問題,但這看起來像是一組通過閱讀ElasticSearch使用MongoDB的文檔的第一頁就可以輕鬆完成答案的問題;我的意思是「我如何託管Elasticsearch?」...... – Sammaye 2013-02-11 12:18:20

+0

是的問題2可能是唯一一個很難回答的問題我添加了另外兩個,只是爲了幫助其他人尋找開始。 – 2013-02-11 12:23:47

+0

我在兩個高內存EC2實例上的大型EC2實例+ MongoDB 2.4.9副本集上使用ElasticSearch 0.9.11,它工作得很好。大量插入,大量更新以及每秒大量刪除,而且您無法像使用其他任何內容所提及的那樣像MongoDB-river那樣流暢無縫地完成插入操作。它會照顧你的oplog。順便說一句,手動?!你在開玩笑吧?如果你的文檔非常靜態,只要坐在MongoDB中就不用擔心連接只需要將索引自動插入到ElasticSearch中。河流有助於實現這些交易的自動化。 – Maziyar 2014-02-12 10:24:00

回答

0
  1. 您可以在自己的服務器上運行或使用aws elasticsearch服務或使用elasticsearch提供的彈性雲。
  2. 嘗試以下三種解決方案: - i)嘗試使用mongoosastic。 NPM包裝 ii)使用mongo連接器。 iii)用於索引數據到elasticsearch的python腳本
  3. elasticsearch-js。 javascript客戶端庫