使用Match Against进行Mysql搜索以搜索相关单词

时间:2011-03-23 20:08:52

标签: mysql search

是否可以使用Mysql的MATCH AGAINST搜索与其相关性的术语?

例如,我可以通过搜索信息获得信息吗?我知道LIKE带有%符号是可能的,但遗憾的是LIKE无法计算相关性。

按相关性排序结果的最佳方式是什么,同时能够搜索相关单词?

1 个答案:

答案 0 :(得分:0)

正如this blog post所示,MySQL fulltext在订购时速度很慢。 Apache Lucene将是另一种选择。

也可以考虑相关性。以下是Lucene features的完整列表:

  

可扩展的高性能索引

     
      
  • 现代硬件上超过95GB /小时
  •   
  • 小RAM要求 - 只有1MB堆
  •   
  • 增量索引与批量索引一样快
  •   
  • 索引大小约为索引文本大小的20-30%
  •   
     

强大,准确和高效的搜索算法

     
      
  • 排名搜索 - 首先返回最佳结果
  •   
  • 许多强大的查询类型:短语查询,通配符查询,邻近查询,范围查询等
  •   
  • 进行搜索(例如,标题,作者,内容)
  •   
  • 日期范围搜索
  •   
  • 按任意字段排序
  •   
  • 使用合并结果进行多索引搜索
  •   
  • 允许同时更新和搜索
  •   
     

跨平台解决方案

     
      
  • 在Apache License下作为开源软件提供,允许您在商业和开源程序中使用Lucene
  •   
  • 100%-pure Java
  •   
  • 可用的其他编程语言中与索引兼容的实现
  •