【问题标题】:Mysql similar search with multiple keywords - sorting by most keywords in stringMysql用多个关键字进行相似搜索 - 按字符串中的大多数关键字排序
【发布时间】:2013-05-29 07:16:42
【问题描述】:

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

我想做什么
我有一个(例如)三个关键字 -> dog cat house

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

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

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

提前致谢!

【问题讨论】:

  • 你也可以搜索FULLTEXT SEARCH
  • 那么,用普通的mysql命令是不可能的?
  • 你似乎用三种不同的方式问过同一个问题
  • How to match similar words? 的可能重复项

标签: mysql search keyword


【解决方案1】:

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

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

【讨论】:

  • 我仅将查询用于管理工具,但出现语法错误。你能检查一下吗?会很好:) pastebin.com/41TJpwHA
  • * 更改为`wp_posts`.*
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-07
  • 2012-09-09
  • 2021-10-29
  • 1970-01-01
  • 2012-07-24
  • 2013-04-08
相关资源
最近更新 更多