搜索MySQL查询
我有下面的代码搜索MySQL查询,mysql,search,Mysql,Search,我有下面的代码 SELECT * FROM table WHERE MATCH(message) AGAINST ('Hello*') 如果消息字符串如下所示 "HelloWhatsHappening" 它没有任何回报 但如果我有 "Hello WhatsHappening" 它很好用 如果字符串如下所示,它也将起作用: "Hello= WhatsHappening" 有什么想法吗?您需要使用通配符指定查询,并添加“在布尔模式下”语句。像这样: SELECT * FROM table W
SELECT * FROM table WHERE MATCH(message) AGAINST ('Hello*')
如果消息字符串如下所示
"HelloWhatsHappening"
它没有任何回报
但如果我有
"Hello WhatsHappening"
它很好用
如果字符串如下所示,它也将起作用:
"Hello= WhatsHappening"
有什么想法吗?您需要使用通配符指定查询,并添加“在布尔模式下”语句。像这样:
SELECT * FROM table WHERE MATCH(message) AGAINST ('Hello*' IN BOOLEAN MODE)
您在搜索hello时也可能会遇到问题,因为它是MySQL中最常用的方法之一。因此,如果只是hello,它不会对单词进行索引,但如果是单词“HelloWhatsHappening”,它会对其进行索引。我是否应该使用Like查询,将上面的所有单词拆分为一个要搜索的单词数组。但是,你怎么才能找到最合适的呢?哦,对不起。。我在问题中忘了。。它已经在这样做了:(等等,我想我是twonk:D…在我的表中,Hello是这样存储的:“Hello:”但是有什么原因不起作用吗?它会将Hello:解释为Hello,因为:不是一个单词字符。因此,它不会索引Hello:,因为它是一个停止词。