MySQL全文索引以通配符顺序返回精确的短语匹配

MySQL全文索引以通配符顺序返回精确的短语匹配,mysql,full-text-search,Mysql,Full Text Search,我有一个带有“term”列的表,它主要保存名称(名字和姓氏)和一些其他文本 我对它们使用全文索引,并使用match返回值 它工作得很好,但当我搜索一个带有空格的词时,它返回多个值,将每个词作为单独的搜索词进行处理 例如: select `id` from `search_index` where MATCH(term) AGAINST ("carol kr*" in boolean mode) and term like '%carol kr%'; 当我搜索“Carol

我有一个带有“term”列的表,它主要保存名称(名字和姓氏)和一些其他文本

我对它们使用全文索引,并使用match返回值

它工作得很好,但当我搜索一个带有空格的词时,它返回多个值,将每个词作为单独的搜索词进行处理

例如:

select `id` from `search_index` where MATCH(term) AGAINST ("carol kr*" in boolean mode) and  term like '%carol kr%';
当我搜索“Carol kr”时,我希望它返回“Carol Kristi”,但它返回所有以Carol和kr开头的值,我得到了很多结果

我使用的查询是:

select `id` from `search_index` where MATCH(term) AGAINST ("carol kr*" in boolean mode);
我试着在搜索中使用双引号,比如“carol kr*” 我仍然没有得到确切的结果

我还尝试使用
CONTAINS(术语“carol kr”)
,但没有得到任何结果

我之前在where cluase中只使用了
之类的
,它工作得很好。但我希望它更快

还有一件事。我尝试了一种方法,在查询中使用match语句,然后添加like查询,因为like将处理匹配结果,所以它不会太慢

例如:

select `id` from `search_index` where MATCH(term) AGAINST ("carol kr*" in boolean mode) and  term like '%carol kr%';
这起作用了。我得到了我想要的确切结果,但它比仅使用like查询的原始查询慢

请在使用比赛中需要帮助以快速获得结果