Luc*_*lff 40 php mysql full-text-search
我正在使用全文,我执行了一个命令,将全文索引添加到多个注释中,并且没有返回错误,然后我做了:
SELECT * FROM products WHERE MATCH(`brand`) AGAINST('Skoda');
Run Code Online (Sandbox Code Playgroud)
哪个是品牌专栏 - 但我得到以下内容:
找不到与列列表匹配的FULLTEXT索引
Eventho,当我的桌子看起来像这样:
FULLTEXT KEY `name` (`name`,`breadcrumb`,`description`,`brand`,`price`,`year`,`km`,`usage`,`type`)
Run Code Online (Sandbox Code Playgroud)
是因为我应该使用name而不是?做搜索?或者可能是错的.
jer*_*use 96
假设您正在使用MyISAM引擎,请执行:
ALTER TABLE products ADD FULLTEXT(brand);
Run Code Online (Sandbox Code Playgroud)
全文索引应包含完全相同的列数,其顺序与MATCH子句中提到的顺序相同.
小智 7
当一切都正确并仍然出现此错误时,我发现它已KEYS被禁用.一个有时被忽视的简单错误:
确保已启用该表上的键.
当我禁用钥匙时,它对我不起作用.但是当我启用按键时,ALTER TABLE table name ENABLE KEYS;它工作正常
小智 6
如果您不希望按匹配子句中的顺序(或相同的编号)排列列,则可以始终使用“ 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)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
53246 次 |
| 最近记录: |