【问题标题】:MySQL select "related" rowsMySQL选择“相关”行
【发布时间】:2015-05-31 14:26:33
【问题描述】:

我想用“MATCH AGAINST”选择 MySQL 表中的相关行

表格:文章

ID | headline | content

如何选择与 ID1、ID3 和 ID7 的标题和内容匹配的相关行。 以下是不正确的,但我希望这能澄清问题:

SELECT ID from article 
where 
    MATCH(headline, content) AGAINST(headline, content) AND
    find_in_set(ID, "1,3,7")

编辑

ID为1、3、7的行的标题和内容如下

标题:“某个标题”、“另一个标题”、“lorem ipsum”

内容:“一些内容”、“另一个内容”、“Lorem ipsum”

现在,我尝试查找标题+内容匹配的文章(“一些标题”,“另一个标题”,“lorem ipsum”,“一些内容”,“另一个内容”,“Lorem ipsum” )

编辑 2

我知道一个用户已经阅读了 ID 为 1、3 和 7 的文章。现在我想向他显示相关文章。

【问题讨论】:

  • 请编辑您的问题,提供示例数据和所需的结果。
  • 不明白你希望得到的结果!!!
  • 添加的解释还不够清楚。请编辑以包含格式为表格的完整示例表格行(突出显示并使用{} 按钮或ctl-k)以及显示查询输出的表格。

标签: php mysql


【解决方案1】:

您需要在两列上同时拥有 FULLTEXT 索引。 FULLTEXT (headline, content).

https://dev.mysql.com/doc/refman/5.6/en/innodb-fulltext-index.html

【讨论】:

    猜你喜欢
    • 2017-04-26
    • 2014-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多