Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fuzzy search #361

Closed
wants to merge 2 commits into from
Closed

Fuzzy search #361

wants to merge 2 commits into from

Conversation

nmitsou
Copy link
Collaborator

@nmitsou nmitsou commented Dec 17, 2015

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

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 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
cuculat --> calculator
crock --> clock
@saveman71 saveman71 mentioned this pull request Feb 1, 2016
@nmitsou
Copy link
Collaborator Author

nmitsou commented Feb 4, 2016

Closing in favor of #379

@nmitsou nmitsou closed this Feb 4, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant