无法识别指定列列表的全文索引
在表上实现全文搜索时,您可能会遇到错误“Can”尽管成功添加索引,但找不到与列列表匹配的全文索引。
根本原因:
当创建的全文索引与指定的列不匹配时,会发生此错误
解决方案:
要解决此问题,请确保全文索引包含的列数与中提到的顺序完全相同MATCH 子句。
具体示例:
在提供的场景中,全文索引是为以下列定义的:
FULLTEXT KEY `name` (`name`,`breadcrumb`,`description`,`brand`,`price`,`year`,`km`,`usage`,`type`)
但是,查询中的 MATCH 子句仅包含品牌列:
SELECT * FROM products WHERE MATCH(`brand`) AGAINST('Skoda');
要解决此差异并启用成功的全文搜索,请执行以下查询:
ALTER TABLE products ADD FULLTEXT(brand);
这将创建一个单独的查询品牌列的全文索引,确保它与 MATCH 子句中指定的列列表匹配。
以上是为什么会出现'找不到与列列表匹配的全文索引”错误以及如何修复它?的详细内容。更多信息请关注PHP中文网其他相关文章!