Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>SOUNDEX is an OK algorithm for this, but there have been recent advances on this topic. Another algorithm was created called the Metaphone, and it was later revised to a Double Metaphone algorithm. I have personally used the java apache commons implementation of double metaphone and it is customizable and accurate.</p> <p>They have implementations in lots of other languages on the wikipedia page for it, too. This question has been answered, but should you find any of the identified problems with the SOUNDEX appearing in your application, it's nice to know there are options. Sometimes it can generate the same code for two really different words. Double metaphone was created to help take care of that problem.</p> <p>Stolen from wikipedia: <a href="http://en.wikipedia.org/wiki/Soundex" rel="noreferrer">http://en.wikipedia.org/wiki/Soundex</a></p> <blockquote> <p>As a response to deficiencies in the Soundex algorithm, Lawrence Philips developed the Metaphone algorithm for the same purpose. Philips later developed an improvement to Metaphone, which he called Double-Metaphone. Double-Metaphone includes a much larger encoding rule set than its predecessor, handles a subset of non-Latin characters, and returns a primary and a secondary encoding to account for different pronunciations of a single word in English.</p> </blockquote> <p>At the bottom of the double metaphone page, they have the implementations of it for all kinds of programming languages: <a href="http://en.wikipedia.org/wiki/Double-Metaphone" rel="noreferrer">http://en.wikipedia.org/wiki/Double-Metaphone</a></p> <p>Python &amp; MySQL implementation: <a href="https://github.com/AtomBoy/double-metaphone" rel="noreferrer">https://github.com/AtomBoy/double-metaphone</a></p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload