找不到与列列表匹配的全文索引(已设置索引)

2022-08-30 09:57:23

我正在使用全文,我执行了一个命令将全文索引添加到多个注释中,并且没有返回任何错误,然后我做到了:

SELECT * FROM products WHERE MATCH(`brand`) AGAINST('Skoda');

这在品牌列中 - 但我得到以下:

找不到与列列表匹配的全文索引

Eventho,当我的表看起来像这样:

FULLTEXT KEY `name` (`name`,`breadcrumb`,`description`,`brand`,`price`,`year`,`km`,`usage`,`type`)

是因为我应该改用吗?进行搜索?或者可能出了什么问题。name


答案 1

假设您使用的是 MyISAM 引擎,请执行:

ALTER TABLE products ADD FULLTEXT(brand);

全文索引应包含与 MATCH 子句中提到的列数完全相同的列数。


答案 2

如果您不想让列的顺序与匹配子句(或相同的数字)相同,则始终可以使用“OR”,即:

ALTER TABLE products ADD FULLTEXT(brand);
ALTER TABLE products ADD FULLTEXT(product_name);

 SELECT * FROM products WHERE MATCH(brand) AGAINST('+Skoda*' IN BOOLEAN MODE) OR MATCH(product_name) AGAINST('+productName*' IN BOOLEAN MODE)

推荐