我已經搜索了大量全文搜索的問題,並找不到解決此問題的方法。停止詞的全文布爾搜索返回空結果
我的命令如下:
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