2010-11-28 54 views
6

我正在評估Rails 3 ATM的全文搜索方法。這裏有人有推薦嗎?在我看來,好像大多數已知的方法(太陽黑子,獅身人面像,鼬,Xapian)還沒有準備好Rails 3。是這樣嗎?目前,我在機器上留下了大量資源,但我希望部署我的應用,但儘管如此,我仍希望儘可能降低搜索引擎的閒置負載。如果這裏有任何關聯,我打算使用PostgreSQL。全文搜索Rails 3

經過一番閱讀後,我幾乎可以肯定,我想使用太陽黑子或Xapian。但是,如果還有其他(更好的)解決方案,請告訴我:-)特別是關於太陽黑子,我不確定除了我的Rails應用程序之外是否還有一個完整的Tomcat正在運行。任何人都有這個星座的經驗?

由於提前, 烏爾夫

回答

6

如果您使用的是PostgreSQL,那麼在您需要訪問外部庫之前,您可以從其內置的文本搜索功能中獲益匪淺。我一直在使用tsearch查詢多年,並獲得了很好的結果。

PostgreSQL全文搜索分析字接近度來計算Relevance & ranking並提供有用的功能,如highlighting of search results

它也意識到了語言特定標準化規則,例如它知道忽略小號ES多元化後綴的英文;因此搜索「國家」也會爲「國家」帶來重點結果,這與Google所採用的方式大致相同。

我並不是說你不應該使用你提到過的庫,但是值得研究一下數據庫,看看是否已經滿足了大多數(如果不是全部)你的要求。

+0

我很滿意這個解決方案。謝謝。 – 2011-04-28 10:15:42

0

對於全文搜索功能,您應該使用搜索引擎。 例如,您可以使用Lucene庫和jRuby。 如果你喜歡使用標準Ruby(cRuby),你可以使用Solr。

對於導軌還有一些Solr插件: 例如,從http://wiki.apache.org/solr/SolRuby開始可能是一個不錯的主意。

1

你可以使用太陽黑子與Rails3,沒問題。我們成功地使用了太陽黑子/ sunspot_rails寶石(1.2.rc4)。在Tomcat服務器中運行Solr並不是太麻煩。

0

太陽黑子Rails3準備就緒,我們已經在幾個Rails3應用上使用它。我在Solr和太陽黑子隊取得了很多成功。這麼多,我們開始blog series on it