我有一个 MySQL 数据库(版本 5.5.28),其表如下:
products (InnoDB)
-------------------------------------------------
search_id title description
1 Levi Blue Jeans Some cool jeans
2 Gucci Handbag Great accessory
3 Prada Dress Beautiful dress
我想在 MySQL 中做这样的事情:
SELECT MATCH(title) AGAINST ('Jeans') AS score, search_id, FROM search WHERE MATCH(title) AGAINST ('Jeans' IN BOOLEAN MODE)
据我所知,你只能在 MyISAM 中做到这一点。是否可以使用 InnoDB 进行类似的搜索,而无需使用以下方法:
对于我的应用程序(大约 1000 - 2000 条记录)Sphinx 等似乎有点矫枉过正。但是将每条记录放入一个数组并用 PHP 搜索它似乎也太多了。但也许你不同意。
PS。LIKE 似乎不适合我。结果通常不太准确,您无法像使用 MATCH 一样获得分数。