我需要搜索产品并按相关性排序,因为我尝试了这个MySQL查询
SELECT *, MATCH(`SubProductName`) AGAINST ('+app*' IN BOOLEAN MODE) AS
relevance FROM `tblsubproducts1` WHERE MATCH(SubProductName) AGAINST
('+app*' IN BOOLEAN MODE) ORDER BY relevance DESC例如,这个查询返回: Apple Thunderbolt,Apple TV .作为结果。这是对的。
但是,当我尝试使用'+usb*'时,它不会返回任何行,而数据库包含一个带有SubProductName USB-C Charge Cable的行,我可以通过与'+cable*'进行匹配来找到该行
为了澄清这一点,我希望搜索能够使用苹果的“app”这样的部分词,这就是我添加*的原因,但为什么它似乎并不总是起作用,这就是让我困惑的地方。是- in USB-C还是.?
发布于 2016-04-15 12:09:47
如果您使用的是MyISAM,那么全文索引的最小字长是4 (这是文档化的这里)。
换句话说,"usb“甚至不在索引中。您需要更改此参数并重新构建索引。
https://stackoverflow.com/questions/36646718
复制相似问题