2009-06-03 96 views
14

這是坦承類似(但不是重複)Comparison of full text search engine - Lucene, Sphinx, Postgresql, MySQL?,但是我所尋找的是具體的,支持,從多個可用系統的經驗的好處的建議(似乎有很多的:「我用過lucene,但不是獅身人面像」,反之亦然)。php mysql全文檢索:lucene,sphinx或?

設置:標準LAMP(Mysql 5.0,PHP 5)。

MySQL的:表使用InnoDB引擎爲外鍵約束

我們正在索引數據,而不是網頁。要編入索引的數據可能是多種語言(utf-8字符集)

我遇到的一些比較(如http://blog.evanweaver.com/articles/2008/03/17/rails-search-benchmarks/)要麼不是完全適用的(鼬是Lucene端口,但不同於Zend_Search_Lucene )或者他們推動他們自己的系統/實現(不完全沒有偏見)。

我遇到的其他一些問題(例如http://whatstheplot.com/blog/tag/lucene/http://pagetracer.com/2008/02/15/sphinx-and-lucene-search-engines-first-impressions/)爲兩個系統的性能提供了非常不同的結果。

此外,我讀到的大部分內容都忽略了Xapian。這可能值得考慮嗎?

所以......我希望你們中的一些人對這個問題有一些經驗,可以幫助一些建議或指向正確的方向。

回答

9

Sphinx的一個優點是你可以在你的客戶端和MySQL服務器之間「干涉」它,它只會「干擾」專門處理它的查詢,透明地反彈MySQL中的其他對象 - 例如參見this article。無論這在您的用例中是一個優勢,您最有可能說!

對不起,Xapian或Lucene沒有真實的體驗 - 仍然在閱讀如何部署它們,這聽起來像(對我來說),就好像只有在確定了實質性優勢時它才值得。否則,Sphinx的「一蹴而就」部署,作爲您的客戶端與MySQL服務器之間的「代理」,感覺就像是一次巨大的實質性勝利!

+0

獅身人面像似乎有很多優點,但考慮到lucene有一些頗有聲音的擁護者,我希望聽到一些有經驗的人 – 2009-06-03 05:47:22

+2

最後我繼續測試獅身人面像,目的是測試Lucene (也許是Xapian),但是,誠實地說,它與PHP/MySQL設置非常順暢地集成在一起,我很難證明在其他時間花費時間是合理的。 – 2009-06-06 05:04:58

3

我看着Zend_Search_Lucene和Sphinx的一個項目聽起來很相似 - 搜索數據庫內容(在我的情況下,書籍信息)。我花了一天時間看着每一個。對於它的價值,我發現Sphinx設置和使用起來非常容易。