我目前正在为网站开发搜索功能。用户按名称搜索其他用户。对于名字上有口音的用户,我很难获得好的结果。
我在名称列上有一个 FULLTEXT 索引,表的排序规则是 utf8_general_ci。
目前,如果有人注册该站点,并且名称带有重音符号(例如:Alberto Andrés),则该名称将存储在 DB 中,如下图所示:
因此,如果我执行以下查询SELECT * MATCH(name) AGAINST('alberto andres')
,我会得到很多匹配分数更高的结果,例如“Alberto”、“Andres”、“Andrés”,最后匹配分数较低,用户可能正在寻找“Alberto Andrés”的记录。
我可以做些什么来考虑重音记录当前存储在数据库中的方式?
谢谢!