【发布时间】:2010-09-24 19:40:15
【问题描述】:
我有一个网站(内置 php),我在 mysql 表中有大约一百万条记录。有一个非常复杂的“高级”搜索,它允许以数百甚至数千种不同的方式对数据进行搜索、排序和排序。
不幸的是,mysql 搜索不是那么好,而且非常慢。目前平均搜索需要 5 秒,我可以使网站正常运行的唯一方法是缓存一周的所有搜索(目前有超过 110 万个缓存文件仅用于搜索)。我有通过 soundex() 函数实现的“贫民区模糊搜索”。
我想看看我能做些什么来用更快的方法替换基于 mysql 的搜索,并且可以返回准确的结果。我还需要输出完全可换肤,因为结果页面不仅仅是文本,还有图片和复杂的 css。
我查看了 sphinx,但那里没有模糊搜索,我非常想拥有它。
【问题讨论】:
-
全文搜索是文本搜索的最佳选择。我不清楚您是否在 MySQL 的本机 MATCH AGAINST 语法中使用
WITH QUERY EXPANSION进行模糊搜索... -
它返回了很多完全不相关的数据。有时完全匹配不是#1,我按相关性排序。
标签: php mysql search full-text-search