我正在試圖決定如何分解我的邏輯。邏輯分離:搜索,數據庫和應用程序
我把我的主要業務邏輯放在Node.js/Express中,而且我一直在使用Mongo來處理我的數據庫。這很好,但現在我需要實現一個非常強大的搜索系統,因爲搜索是我網站最重要的功能之一。起初,我非常驚訝於Mongo和Couch缺乏支持和整合,但後來我意識到我正試圖讓數據庫做一些不適合的事情。
現在我正在研究使用Solr或ElasticSearch,但是它的開始似乎是這些程序甚至可以執行Mongo可以執行的一些或大部分查詢,只要我能夠正確索引我的文檔(以及它們的自然,我將索引幾乎所有文件的每一個屬性)。所以說,我在想,也許我應該只使用一些簡單的東西,比如Redis,並且依賴像Solr/ElasticSearch這樣強大的搜索工具。
這看起來像是一個明智的選擇嗎?另外,爲什麼Solr,Lucene或ElasticSearch沒有Nodejs模塊?
我也剛剛發現[RedBackJS](http://redbackjs.com),它看起來對我來說可能是正確的解決方案,但我又對一些更有經驗的建築師的智慧感興趣。 – cjroth 2012-01-05 20:04:54
你大多隻需要一個HTTP客戶端庫(最好能夠連接池),你可以自己做一個solr查詢類(不要忘記做URL和Solr char轉義)。 – aitchnyu 2012-01-06 11:08:36