【问题标题】:MySQL LIKE query and relevance resultMySQL LIKE 查询和相关结果
【发布时间】:2013-06-19 06:26:44
【问题描述】:

我有一个 mysql 表,它有 5 个字段。

三个主要字段是

=> 内容 1

=> 内容 2

=> 内容 3

内容1和2分别是html和纯文本内容,内容3有逗号分隔的标签。

我想提供一个搜索功能,应该搜索这三个字段并输出按相关性排序的结果。

我是 mysql LIKE 语法的新手。请有人帮助和教我。

【问题讨论】:

  • 请提供一些示例数据
  • 这很简单。内容 1 可以有 '

    Title

    任何大小的文本
    ' 内容 2 可以有'任意大小的文本,但不超过 250 个字符' 内容 3 可以有 'any, size of, text, title, 250 chars' 这就是你想要的吗?

标签: mysql


【解决方案1】:
SELECT * 
FROM table_name 
WHERE  
   `Content 1` like '%$query%' 
   OR `Content 2` like '%$query%'
   OR `Content 3` like '%$query%'

但此查询不适用于代码中包含 html 元素的内容 1。

【讨论】:

  • 非常感谢您的帮助。但实际上我想得到按相关性排序的结果。你能帮我实现吗?
  • 其实我不知道在 MySQL 中能不能做到。因为 MySQL 如何知道你的相关性。
  • 嗯,我想会有一些技巧可以做到这一点。你不这么认为吗:(