2011-04-07 202 views
0

我想用多個搜索字詞使用MySQL的全文索引在數據庫中搜索:MySQL的全文搜索

SELECT description FROM `products` WHERE match(name, description) against('*ana* *apple*' IN BOOLEAN MODE) 

我想上面的查詢返回下面的記錄,但它不會工作:

babana pie 
applet 
fried bananas 
juicy apples 

我的查詢正常嗎?

+0

會發生什麼?你有任何點擊?太多?太少了? – 2011-04-07 15:27:13

+0

@Pekka運行查詢時只返回與蘋果相關的記錄 – marcosbeirigo 2011-04-07 15:38:09

回答

1

您可能會遇到全文的限制,即出現在多於一組記錄中的單詞被認爲是「噪音」並被忽略。 「香蕉」和「蘋果」都出現在你的樣本記錄的50%,所以很可能不是很好的匹配。嘗試在測試數據中添加一些其他水果,並搜索更「罕見」的內容。

+0

它在這裏說,當使用布爾模式時,mysql忽略停用詞http://stackoverflow.com/questions/4449431/mysql-full-text-stopwords-problem/4449780# 4449780 – marcosbeirigo 2011-04-07 15:37:28

+0

@marcos這不是一個停止詞問題。這可能是 – 2011-04-07 15:39:27

+0

剛剛向表中添加了一堆數據的原因,結果是一樣的 – marcosbeirigo 2011-04-07 15:47:03