2009-12-23 135 views
2

我想通過mySQL數據庫爲我的網站創建搜索。我開始使用Sphinx,但在得知索引不實時更新時猶豫不決。我確實看到他們有一個almost real time update,但我擔心這不適合我的系統,因爲新內容會逐分鐘添加到數據庫中。這個新內容需要立即添加,每次更新後重新編制索引似乎很奇怪。通過mySQL數據庫創建搜索

我目前正在研究構建在Lucene上的Solr,但這也不符合我的需求,因爲它更多的是基於文件的搜索而不是數據庫搜索。對於相對簡單的搜索配置來說,它看起來也很糟糕。我也發現了this stackoverflow question,但也有一些問題。首先是我不是隻通過一個領域尋找,而是尋找許多領域。另外,我擔心純粹在SQL中進行的搜索可能會比我的數據庫慢得多,這將有望存儲在數十萬條記錄中,如果不是更多的話。

如果任何人對我提到的任何軟件或任何我沒有提到的軟件有任何意見,歡迎提供所有想法。如果這有什麼區別,我使用java作爲後端。謝謝。

+0

與普通的舊Lucene和一些咕嚕的工作後,讓它安裝,它原來是一個完美的選擇。 – UmYeah 2010-01-07 15:09:04

回答

2

還有簡單的Lucene和Xapian--後者有PHP綁定。

3

在其核心,數據庫只是文件。基於文件的搜索有什麼問題?

聽起來像Solr滿足您的要求。如果您使用他們的示例設置,他們會在下載時提供,但入門並不多。您需要做的就是爲您的數據配置schema.xml。

要獲得實時搜索,您需要將您的文檔實時添加到solr索引。這是一個簡單的帖子到Solr的servlet之一,或者可以通過SolrJ(他們的java客戶端)完成。

如果你正在搜索很多列,我認爲Solr比數據庫更高效和更易於使用。它還將提供更豐富的功能集,如刻面和詞幹。

+0

基於文件的搜索沒有問題。看起來似乎可能會因此而變得更加困難。但看起來Solr在這一點上是正確的選擇。感謝您使用Solr進行實時搜索的信息。 – UmYeah 2009-12-23 22:35:33