2011-03-23 105 views
2

是否有可能使用Mysql的MATCH AGAINST搜索與其相關的術語?Mysql搜索與匹配搜索相關單詞

例如,我可以通過搜索信息獲得信息?我知道LIKE可以用%符號,但不幸的是LIKE無法計算相關性。

根據相關性排序結果並同時搜索相關單詞的最佳方式是什麼?

+0

如果你想做任何類型的高級文本索引/搜索的東西,你應該真的去專門的解決方案*(也許solr,例如)*,而不是依靠MySQL的全文。 – 2011-03-23 20:13:15

+0

基於PHP還是應該應用於Apache,Pascal?我可以在共享服務器上使用它嗎? – Kemal 2011-03-23 20:16:01

+0

它是一個獨特的,獨立的軟件。 – 2011-03-23 20:16:41

回答

0

this blog post所示,MySQL fulltext在訂購時很慢。 Apache Lucene將是一種替代方案。

也可以考慮相關性。這裏是Lucene features完整列表:

可擴展,高性能的索引

  • 在現代硬件
  • 小的RAM需求95GB /小時 - 只有1MB堆
  • 增量索引爲快速批量索引
  • 索引大小大致爲文本索引大小的20-30%

強大,準確,高效的搜索算法

  • 排名搜索 - 最好的結果顯示第一
  • 許多強大的查詢類型:短語查詢,通配符查詢,近似查詢,範圍查詢等
  • 派出搜索(例如,標題,作者,內容)
  • 日期範圍由任何字段搜索
  • 分揀
  • 多指數與合併RES搜索ULTS
  • 允許同時更新和搜索

跨平臺解決方案

  • 可作爲Apache許可證,它可以讓你在商業和開放源代碼程序使用Lucene的下開源軟件
  • 100 %-純Java
  • 其他可用索引兼容的編程語言的實現
+0

謝謝阿爾卑斯。我不確定它是否可以用於共享主機,但似乎現在是最好的解決方案,因爲這裏沒有其他答案。另外我的託管服務提供商可能會考慮安裝它。 – Kemal 2011-03-27 20:31:46