我完全被这一个困惑。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