0
我有一个产品表不能正常工作,它包含这些数据:mysql的全文检索精确匹配预期
name |
-------------------------
Nokia X 4GB Nokia X 3G |
Nokia X 4GB 3G |
Nokia XL 4GB Nokia X 3G |
Nokia XL 4GB Nokia X 3G |
Nokia Asha 512 |
Nokia Lumia 925 |
Nokia Asha 306 2GB |
....
,然后当我运行此查询:
SELECT name,
MATCH(name) AGAINST('+Nokia +X +4GB +3G' IN BOOLEAN MODE) AS rank
FROM products as p
ORDER BY rank DESC limit 4;
它应该返回前四名的结果,但我看到它返回
Nokia Asha 309 A00008390
Nokia Asha 306 2GB
任何人都知道为什么?
看起来像'REPAIR TABLE products QUICK'会比删除并重新创建索引好,对吗? – 2014-09-21 08:38:40
是的,我相信这也能完成这项工作。 – Peter 2014-09-21 08:52:13