All contribution made by Ha Bach (bachh1).
For autocomplete, web search, and Android search, fuzzy search is implement as follow:
All queries are broken into tokens, each token are matched as %token%
in SQL.
So for query "good u", the servlets ask the database for %good%u%
Since the autocomplete will deal with short queries, edit distance for edth is set as 1 to avoid results that are too different from the query.
For web search and Android search, edit distance is set as 2 because queries are assumed to be close to what the user wants to search for.
The soundex of the entire query is match against the database's movie titles.