【问题标题】:Why is Mysql match boolean mode not finding "Knows"为什么 Mysql 匹配布尔模式找不到“知道”
【发布时间】:2013-04-12 14:06:26
【问题描述】:

我有这两个问题

SELECT * FROM `foo` WHERE  MATCH(`title`) AGAINST('knows' in boolean mode )

SELECT * FROM `foo` WHERE  MATCH(`title`) AGAINST('woman' in boolean mode ) 

在表格中我有一行title = "a woman knows"

第一个查询找到该行,但第二个没有! 我已经尝试了不同的替代方案 - 例如,如果标题包含“a woman knots”,则查询与“knots”匹配的工作

我很困惑,所以欢迎您提供任何帮助。

【问题讨论】:

  • 你为什么不直接使用LIKE ?它更短更容易。
  • 如果您需要忽略停用词(如“知道”),您可以尝试查看其他 question and answer
  • 我更喜欢我们'喜欢',但我需要让用户搜索多个

标签: mysql full-text-search


【解决方案1】:

“knows”是stopword,不会被索引(因此在所有搜索中都会被忽略)。 您可以使用ft_stopword_file 服务器选项加载您自己的停用词列表。

【讨论】:

  • 非常感谢。我还没有意识到在比赛功能中使用停用词 - 生活和学习!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-07-19
  • 2015-04-04
  • 2017-11-07
  • 2017-10-20
  • 1970-01-01
  • 1970-01-01
  • 2011-03-04
相关资源
最近更新 更多