Mysql类似于多个关键字的搜索 - 按字符串中的大多数关键字排序

时间:2013-06-03 07:10:14

标签: mysql search keyword

我知道,有很多帖子有“mysql”和“类似搜索”,但我找不到我的问题的答案。也许我是盲目的:/

我尝试做什么 我有(例如)三个关键字 - >狗猫屋

现在我想用这个关键字查找我的数据库中的所有标题 - 但是!我希望按大多数命中对结果进行排序。

结果:
1)我的狗和我的猫在房子里(3)
2)我有一只猫和一只狗(2)
3)我家里有一只猫(2)
4)我的房子很大(1)
...

我尝试了类似的功能,但它不起作用。 这可能与mysql有关吗?

提前致谢!

1 个答案:

答案 0 :(得分:0)

这是您需求的可读版本,但仅适用于生产环境仅适用于学术知识:

Select 
   if( INSTR(your_column, 'dog')>0 ,1,0) +
   if( INSTR(your_column, 'cat')>0 ,1,0) +
   if( INSTR(your_column, 'house')>0 ,1,0) as my_rate,
   *
from 
   ...
order by my_rate desc
;

正确的方法是fulltext search