我想用多個搜索字詞使用MySQL的全文索引在數據庫中搜索:MySQL的全文搜索
SELECT description FROM `products` WHERE match(name, description) against('*ana* *apple*' IN BOOLEAN MODE)
我想上面的查詢返回下面的記錄,但它不會工作:
babana pie
applet
fried bananas
juicy apples
我的查詢正常嗎?
我想用多個搜索字詞使用MySQL的全文索引在數據庫中搜索:MySQL的全文搜索
SELECT description FROM `products` WHERE match(name, description) against('*ana* *apple*' IN BOOLEAN MODE)
我想上面的查詢返回下面的記錄,但它不會工作:
babana pie
applet
fried bananas
juicy apples
我的查詢正常嗎?
您可能會遇到全文的限制,即出現在多於一組記錄中的單詞被認爲是「噪音」並被忽略。 「香蕉」和「蘋果」都出現在你的樣本記錄的50%,所以很可能不是很好的匹配。嘗試在測試數據中添加一些其他水果,並搜索更「罕見」的內容。
它在這裏說,當使用布爾模式時,mysql忽略停用詞http://stackoverflow.com/questions/4449431/mysql-full-text-stopwords-problem/4449780# 4449780 – marcosbeirigo 2011-04-07 15:37:28
@marcos這不是一個停止詞問題。這可能是 – 2011-04-07 15:39:27
剛剛向表中添加了一堆數據的原因,結果是一樣的 – marcosbeirigo 2011-04-07 15:47:03
會發生什麼?你有任何點擊?太多?太少了? – 2011-04-07 15:27:13
@Pekka運行查詢時只返回與蘋果相關的記錄 – marcosbeirigo 2011-04-07 15:38:09