9 comments

[ 2.9 ms ] story [ 30.4 ms ] thread
Cool ! At some point, you could also consider building an index: retrieve "possible candidate corrections" by issuing a query against this index, and score the candidates using some combination of features (such as edit distance, phonetic similarity etc).
As you mentioned, phonetic algorithm like Double Metaphone (stored e.g. in an SQL database) gives you probably better results (if you order the results by its score).
I was also wondering about using phonetic matching as a substitute for spell checking.

I guess one downside to phonetic matching vs spell-checking would be that you're not really telling the user that results are shown for a different term from the one they entered?

Great approach for simple spell checking in search!
This method assumes that your content has no typos.
Perhaps the spell checker should only run when there are 0 results?
How do you has words so that polynomial hashes to the same value as pollinomial?
For the input word, generate all variants which are within edit distance of 2, generate their hashes, and check if any of those hashes are in the list of hashes generated from corpus.
sounds very expensive, surely there must be a more efficient way?