sql >> Database >  >> RDS >> Mysql

Sorteer op Soundex (of vergelijkbaar) `Closeness`

Soundex is niet goed voor dit soort dingen omdat verschillende woorden u dezelfde Soundex-resultaten kunnen geven en daarom willekeurig zullen sorteren. Een betere oplossing hiervoor is het Levenshein Edit Distance-algoritme en u kunt het mogelijk als een functie in uw database implementeren:Link naar Levensheint impl. als MySql opgeslagen functie !!!

Je kunt ook deze SO-link bekijken . Het bevat een Sql-server (T-SQL-specifiek) implementatie van het algoritme, maar het moet mogelijk zijn om te poorten. De mechanica van het algoritme is vrij eenvoudig en heeft alleen een 2D-array nodig en een lus over een string.




  1. Tabel samenvoegen op een van de 2 kolommen in panda's

  2. MySQL Tabel maken als SELECT

  3. Hoe voeg ik meerdere checkbox-waarden in een tabel in?

  4. MySQL-werkbank