What is the typical algorithm used by online search engines to make suggestions for misspelled words. I'm not necessarily talking about Google, but any site with a search feature, such as as Amazon.com for instance. Say I search for the word "shoo"
; the site will come back and say "did you mean: shoe"
.
Is this some variation of the Levenshtein distance algorithm? Perhaps if they are using some full text search framework (like lucene for instance) this is built in? Maybe fully custom?
I know the answer varies a lot, I'm just looking for an indication on how to get started with this (in an enterprise environment).