• The SOUNDEX hashing function is primitive and will result in many false matches when comparing strings of multiple words, even if they are very dissimilar. Basically, it retains the first character, strips additional vowels, hashes the first character of each word, and is senstive to spaces. It is better suited for hashing single words.

    For examples, all of the following coverts to the same soundex hash, despite their being obviously different.

    print soundex('ABC Movers')

    A120

    print soundex('ABC Maplethorpe')

    A120

    print soundex('ABC M')

    A120

    It also is senstive to punctuation and symbols, which again is not what you want:

    print soundex('A.B.C. Movers')

    A000

    "Do not seek to follow in the footsteps of the wise. Instead, seek what they sought." - Matsuo Basho