Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Classificar por Soundex (ou similar) `Proximidade`


Soundex não é bom para esse tipo de coisa porque palavras diferentes podem fornecer os mesmos resultados Soundex e, portanto, serão classificadas arbitrariamente. Uma solução melhor para isso é o algoritmo Levenshein Edit Distance e você pode implementá-lo como uma função em seu banco de dados:Link para Levensheint impl. como função armazenada do MySql !!!

Você também pode conferir este link SO . Ele contém uma implementação de servidor Sql (específica do T-SQL) do algoritmo, mas deve ser possível portar. A mecânica do algoritmo é bastante simples, precisando apenas de uma matriz 2D e fazendo um loop sobre a string.