【问题标题】:How to get keyword by which select query selects result?如何获取选择查询选择结果的关键字?
【发布时间】:2014-10-15 07:09:02
【问题描述】:

如何在 MySQL 中使用全文搜索 MATCH() AGAINST() 获取 select 查询选择结果集的确切关键字

SELECT ... , MATCH(table_column) AGAINST("'LIST_OF_KEYWORDS' IN BOOLEAN MODE") AS relevance

现在我想得到完全匹配的关键字

【问题讨论】:

  • 请编辑问题以显示您所指的查询。
  • 我已经用查询编辑了我的帖子。请您提供一些解决方案:)

标签: mysql keyword match-against


【解决方案1】:

来自 MySQL 文档:

查找包含确切短语“一些词”的行(例如,包含“一些智慧词”但不包含“一些干扰词”的行)。请注意,包含短语的“”字符是分隔短语的运算符字符。它们不是包含搜索字符串本身的引号。

找到准确的短语:

SELECT * FROM your_table 
WHERE MATCH(table_column) AGAINST('"PUT_YOUR_PHRASE"' IN BOOLEAN MODE) AS relevance

找到至少一个关键字:

SELECT * FROM your_table 
WHERE MATCH(table_column) AGAINST('KEYWORD1 KEYWORD2' IN BOOLEAN MODE) AS relevance

在两个关键字处查找:

SELECT * FROM your_table 
WHERE MATCH(table_column) AGAINST('+KEYWORD1 +KEYWORD2' IN BOOLEAN MODE) AS relevance

【讨论】:

  • 需要显示匹配的关键字,该行已被填充。所以你的答案没有用。
  • 我编辑了我的答案以提供一些示例,我认为您想要第三种解决方案来匹配所有关键字。请记住,如果您想获得准确的短语,需要将您的搜索用双引号括起来
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-02-04
  • 1970-01-01
  • 2019-05-10
  • 1970-01-01
  • 2014-02-04
  • 1970-01-01
  • 2020-02-04
相关资源
最近更新 更多