|
|
|
|
|
by doorhammer
4455 days ago
|
|
Another interesting algorithm for fuzzy searching is this one: http://www.catalysoft.com/articles/StrikeAMatch.html It essentially compares the number of matching two letter pairs in strings. I used it in a C# app that did a fuzzy instant search as the user typed more letters in. On a dataset of about six thousand names it performed really well, but it was a pretty simple app. I also used a javascript version on the same list to see how it performed on an X120e netbook, and again, it was instantaneous. No idea how the performance would compare to the methods for common substring. I like the pairs matching because I can screw up letter positioning and accidentally type a letter or two that doesn't exist in the string, but still get back strongly matching results and usually find what I want. I used it because we had a huge issue at work with people brutalizing names they entered into our employee database. Here's an implementation I wrote in javascript: https://gist.github.com/doorhammer/3016ecaac5313a87804b I never used it in production, and it's not optimized really at all, but it shows how straight forward a typical version can be. |
|
http://en.wikipedia.org/wiki/N-gram