Mysql MATCH AGAINST 不适用于拉丁字符 - 单词长度没有问题

Mysql MATCH AGAINST not working for latin characters - NOT issue with length of the word

提问人:techStud 提问时间:11/16/2023 最后编辑:techStud 更新时间:11/17/2023 访问量:39

问:

SELECT first_name, last_name FROM users u WHERE MATCH(u.first_name, u.last_name) AGAINST ('+áééxcv*' IN BOOLEAN MODE);

我正在尝试获得记录first_name是 áééxcv(拉丁字符)的结果。我在结果中获得了以字符“a”(正常“a”)开头的其他记录,但不是预期的记录。

当我运行查询时,我得到了正确的结果:

SELECT first_name, last_name FROM users u u.first_name = 'áééxcv';

即使 MATCH...在正常英语字符的情况下,反对按预期工作,但不能使用拉丁字符。

数据库具有字符集/排序规则:utf8mb4/utf8mb4_unicode_ci

用户表排序规则:utf8mb4_unicode_ci

SQL MySQL 数据库 匹配

评论

0赞 nbk 11/16/2023
最少为 3 个字母,如果您想要单个字符,则需要更改它
0赞 techStud 11/16/2023
@nbk搜索较少字符数时没有问题,即使我使用单个字母(普通英文字母)搜索,它也能正常工作。只有当我使用以拉丁字母开头的单词时,它才会失败
1赞 nbk 11/17/2023
请以文本形式发布您的表格,以便我们可以重现您的错误

答: 暂无答案