https://leeoniya.github.io/uFuzzy/demos/compare.html?libs=uF...
https://leeoniya.github.io/uFuzzy/demos/compare.html?libs=uF...
https://leeoniya.github.io/uFuzzy/demos/compare.html?libs=uF...
commit:
https://github.com/leeoniya/uFuzzy/commit/63dc67b8bdb7577f85...
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 :)
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...
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.