我有一个表格,其中包含我要搜索的标题和关键字列。我想添加使用多项搜索的功能,但是它应该通过相关性对结果进行排序。 FullTextSearch不是一个选项,因为我目前正在使用MySQL5.5和innoDB。
我目前的做法如下:
我现在想知道的是,如果有更有效的方法来做这件事,因为我主要使用php来实现这一点。我应该在数据库中进行一些处理吗?我应该彻底改变我的方法吗?
该表相对较小(不到1万条记录),我预计它不会在不久的将来变得更大。
有什么建议吗?感谢。
答案 0 :(得分:2)
您可以在SQL中进行计数。这是一个例子:
select ((col like 'term1') +
(col like 'term2') +
. . .
(col like 'termN')
) as NumMatches
from t
having NumMatches > 0
order by NumMatches desc;
MySQL将布尔值视为0(表示假)和1(表示真)。您可以将它们一起添加以获得匹配的总数。