Hacker News new | past | comments | ask | show | jobs | submit login

From fuzzy search I expected that entering "super meet boy" or "super maet boy" will return "Super Meat Boy" but unfortunately currently it doesn't work this way and it's quite disappointing.

https://leeoniya.github.io/uFuzzy/demos/compare.html?libs=uF...




this has now been addressed by 3 additional options that handle all variations of single substitution, single transposition or single deletion. (they're not exposed in the demo form controls yet, but can be enabled via url params):

https://leeoniya.github.io/uFuzzy/demos/compare.html?libs=uF...

commit:

https://github.com/leeoniya/uFuzzy/commit/63dc67b8bdb7577f85...


this is answered in other parts of the thread here [1], but there might be some hope for it still!

https://github.com/leeoniya/uFuzzy/issues/2

however, it's probably infeasible to accomodate more than single-char-per-term substitution tolerance. thankfully, both your examples have 1-char substitutions :)

[1] https://news.ycombinator.com/item?id=33042665


It is explained, but than why is it fuzzy? Isn't the fuzziness part exactly what's missing?


I think you have a different idea of what fuzzy means than the creator. I use a fuzzy search in my config that wouldn’t match the parent example. As soon as you include a word that isn’t in the match, the match is removed. I am more concerned that the fuzziness would prioritize a match of “super meet boy and more” over “super and the gang explore meeting friends o boy” because it’s closer to the search string (by what I would define as fuzzy).


Fuzzy searching generally doesn't mean exactly the same thing as typo correcting or other full text search features.

It's more like you can search using word parts. Similar to how your IDE's search work when jumping to files. E.g. you can type 'smb' to find 'Super Meat Boy'. Or type something like 'sup mea acc' to find 'Super Meat Boy Accessed Content'

So it requires you to know exactly what you're looking for, but you can find it quickly without having to type a lot.

Generally for full text search like you're describing you need to do that on the server side. It would be too heavy to have something full featured like that on the client side.


there are many ways to be fuzzy, so it's quite subjective.

uFuzzy can be made tolerant to extra insertions in the matches between/around the specified needle chars, and can also handle out of order terms. those together cover a surprising amount of common cases.

but it's not fuzzy in unlimited ways, such as letter omissions in the match (a superset of substitutions) like a spellcheck or levenshtein distance would be...but extreme tolerance often produces garbage results, too.

actually, might be able to handle single-char-per-term omissions as well:

https://github.com/leeoniya/uFuzzy/issues/2#issuecomment-126...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: