2011-03-23 95 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