繁体   English   中英

InnoDB中的MySQL全文搜索错误

[英]MySQL fulltext searches in InnoDB error

我在下面的查询中执行多列搜索:

SELECT 
    prod.pid, 
    prod.pname, 
    prod.description, 
    prod.status, 
    foto.set_cover, 
    foto.file
FROM products prod 
INNER JOIN second_child_categories secd ON prod.category_id = secd.second_id 
INNER JOIN photos foto ON prod.pid = foto.pid 
WHERE MATCH (prod.pname, prod.description)
AGAINST ('home')
AND foto.set_cover = '1' 
AND prod.status = '1' 
ORDER BY prod.created_date DESC

我使用InnoDB引擎和MySql Ver 14.14 Distrib 5.6.35

我在products表中添加了fulltext index

ALTER TABLE `products` ADD FULLTEXT (`pname`);
ALTER TABLE `products` ADD FULLTEXT (`description`);

我运行查询并得到错误:

#1191 - Can't find FULLTEXT index matching the column list

查询出了什么问题?

提前致谢。

使用MATCH() ,必须将您命名的列一起索引为一个全文索引,而不是将每个列单独索引在单独的全文索引中。

给定您显示的查询,您需要这样定义的索引:

ALTER TABLE `products` ADD FULLTEXT (`pname`,`description`);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM