使用MySQL FULLTEXT搜索的问题

use*_*410 1 mysql full-text-search

我已经发布了一个关于此问题的问题,但情况发生了很大变化,需要一个新问题.

我有一个名为aromaProducts的MySQL表,其中有7列带有FULLTEXT索引,其中有三个记录.当我对它进行查询时:

SELECT*FROM aromaProducts WHERE MATCH(title)AGAINST('chamomile');

我得到了正确的结果.但是,当我尝试添加第二个字段进行搜索时,我收到一个错误:

找不到与列列表匹配的FULLTEXT索引

每一列都可以正常工作.我还明确地添加了WITH QUERY EXPANSION和同样的东西.

我有另一个表,aroma Products1,而不是一次一个地将FULLTEXT分配给字段,我在创建表时将其分配给所有7个.对于此表,没有查询工作.在检查表结构时,区别在于:

第一个表显示每个字段都有自己的FULLTEXT索引,而第二个表有一个名为title的索引(第一个分配它的字段),它适用于所有七个字段.

我制作FULLTEXT的所有列都是VARCHAR或TEXT数据类型.我不知道问题是什么.

Sve*_*lov 5

您必须在要匹配的所有列上创建全文索引

如果要匹配(col1,col2,col3),则必须在col1,col2和col3上创建全文索引.如果你想匹配(col1,col2)你必须实现另一个全文索引(在col1和col2上),你不能在col1,col2和col3上使用那个