我完全被這一個困惑。MYSQL MATCH ...對於沒有結果返回
我目前正在一個電子商務網站上工作,並且有一張滿載測試產品的表格。在這個表中是一個名爲'name'的字段,它是TEXT類型並且具有FULLTEXT索引。
我插入了幾百行虛擬數據,每一行都插入了「測試產品」(不帶引號),因爲它是'name'字段中的值。
但是,即使單詞'product'當前位於每行的名稱字段中,運行以下命令也會返回零結果。
從那裏MATCH(名)反對(「產品」)
我已經檢查了服務器變量產品 SELECT名字,一切都被設置爲默認值。最小字符是4,停用詞是默認等。據我所知,產品不是停用詞。
如果有任何進一步的信息可以幫助我找到解決方案,請告訴我。
非常感謝提前。
'SELECT名稱FROM產品WHERE名稱LIKE「%產品%」'? – phpisuber01 2013-05-08 13:37:22
我認爲所有行都通用的字符串被認爲是「太常見」,因此被忽略。 – hjpotter92 2013-05-08 13:39:44
我使用MATCH ... AGAINST的原因是,我可以建立一個強大的搜索引擎,搜索每個產品的名稱和說明,最終以便我可以按最相關的順序排列它們。 LIKE在任何接近相同結果的地方都無法實現,因爲它不會根據匹配有多接近來排序結果,它只是返回具有相等相關性的所有內容。 感謝您的迴應! – 2013-05-08 13:40:13