2010-03-16 76 views
1

我正在研究我的應用程序的搜索功能,我想搜索數據庫中的所有文章。到目前爲止,我在查詢中使用LIKE,但我想添加一個「Related Articles」功能,有點類似於SO在側邊欄中的內容(如果我使用Like,我會看到這是一個問題)。MySQL ..使用全文搜索或使用Like?什麼是更好的?

有什麼更好的使用MySQL搜索,全文或喜歡...或其他任何我可能不知道的?另外,我使用Kohana框架,所以如果有人知道使用查詢生成器完成全文匹配的簡單方法,那麼我會很感激。

謝謝。

回答

2

首先,你必須考慮到:

  • MySQL FULLTEXT indexes只候選條件爲MyISAM表 - 不是表中InnoDB
    • 而只有InnoDB支持外鍵,事務。 ..
  • 使用LIKE通常是非常慢,性能不好,因爲它通常意味着做一個全面掃描ta對於每個搜索都適用。

我真的不使用任何這兩個解決方案的任何一種大的/真正/重要應用的...


代替這兩個可能性,讓你使用一個真正的全文索引視爲/搜索引擎 ?

例如,你可能想看一看:

注有Lucene的的實現,只需要在Zend框架PHP: Zend_Search_Lucene - 如果您無法在服務器上安裝任何附加軟件,可能會很有用。