Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
As described in #282, I use the Levenshtein distance from here: http://rosettacode.org/wiki/Levenshtein_distance
to recover mainly from typos while writing (I think the license is fine, code can be reused freely)
"The Levenshtein distance between two strings is defined as the minimum number of edits needed
to transform one string into the other, with the allowable edit operations being
insertion, deletion, or substitution of a single character."
It does NOT use phonetics (like soundex) or other NLP ideas
Performance-wise, I didn't notice any difference (tested on Samsung Note II and HTC Chacha).
It works only on AppProvider for now, i can add it on other providers if you agree.
I could also add an option in settings to enable / disable this if you think it is needed.
a few examples: user query --> matched app
skyep or skipe or scipe (but also smzpe)--> skype
cuculato --> calculator
clog --> clock