如果是英文字符串,直接使用mysql的soundex函数来进行相似度比较。
soundex是一个将任何文本串转换为描述其语音表示的字母数字模式的算法。
soundex考虑了类似的发音字符和音节,使得对字符串进行发音比较而不是字母比较。
比如
select soundex("bfw.1.2.3");上面返回B000
那么同样
select soundex("bfw1234");也会返回B000,那么他们就是相似的,那么查询表中相似的sql语句如下
select * from User where soundex(username)=soundex("bfw1234");
网友回复