• @charles, exactly so.

    One of the implementations of Soundex stored the soundex value of a holiday destinations in an indexed field.

    When the customer entered a location the system would take the soundex value of their entry and look up the stored soundex value. This was more likely to retrieve a value or values.

    The app itself would then prioritise an entry that was an exact match if one existed.

    Where there was no match, soundex or exact then the mismatch was stored in a "MissedSearchTerms" table to be analysed later.

    In some cases the search term revealled a gap in our product offering, in others a spelling mistake that Soundex could not handle.

    What we found was that we had to build a thesaurus of place names over and above the soundex keys.