Tim*_*tle 8 mysql sorting soundex
有没有办法让MySQL订单结果与搜索词的"声音"有多接近?
我正在尝试订购包含城市名称用户输入的字段.存在变化和拼写错误,我想在顶部显示"最接近的"匹配.
我知道soundex可能不是最好的算法,但如果它(或其他方法)可以合理地成功 - 可能值得对数据库进行排序.
Soundex 不适用于此类事情,因为不同的单词可以给您相同的 Soundex 结果,因此会任意排序。一个更好的解决方案是 Levenshein 编辑距离算法,您可以将其作为数据库中的函数实现:链接到Levensheint impl。作为MySql存储函数!!!
您还可以查看此SO 链接。它包含该算法的 Sql 服务器(特定于 T-SQL)实现,但应该可以移植。该算法的机制相当简单,只需要一个二维数组和循环字符串。
| 归档时间: |
|
| 查看次数: |
2554 次 |
| 最近记录: |