我已经搜索了大量全文搜索的问题,并找不到解决此问题的方法。停止词的全文布尔搜索返回空结果
我的命令如下:
SELECT * FROM t1 WHERE MATCH (c1,c2,c3) AGAINST (:keyStr IN BOOLEAN MODE)
如果:keyStr == '+苹果*' 我得到的值返回。
如果:keyStr =='+ this *'我什么也没得到。
if:keyStr =='+ apple * + this *'我什么也没得到。
如果:keyStr =='+ apple * + chicken *'我得到返回的值。
'这','苹果'和'鸡'都在数据库中,所有三个查询都应返回非空结果。
我觉得当有一个停用词输入数据库时会自动返回什么。
笑我怎么能显示其实际发生的记录? 我删除了所有单词中的'*',现在: '+ apple + this'returns values but'+ this'returns null – 2013-02-23 02:37:43
@JoseCalderon您是否改变了配置中的任何内容? – Tchoupi 2013-02-23 02:40:42
nope。我认为当:keyStr ='+ this'时,mysql会忽略'+ this',并对空字符串进行全文搜索,空字符串返回null。 – 2013-02-23 02:42:46