uFuzzy.js

Languages and libraries

javascript search library

SHOW HN2022

Legend

uFuzzy.js

A tiny, efficient fuzzy search that doesn't suck

github.com

#fuzzy search#javascript#typeahead#full text search

251points
82comments
#192of 2,570 in 2022
Top 8%of 2022 by points

How HN took it

CuriousMostly questions and neutral comments

5 positive, 19 neutral or asking, 0 mixed, 9 critical, out of 33 comments about the project. Thread score -0.07.

Idea: 2 for, 3 againstExecution: 0 for, 4 againstPerformance: 2 for, 1 againstDocs: 1 for, 1 against

The thread, comment by comment

Each row is a top-level comment and its replies, in HN's order. Select a cell to open that comment on HN.

positive neutral or mixed critical about another commenter or something else the maker

What HN said

What people liked

  • Comparison table is useful and the library is small and well-scored

    From 2 comments
    • your comparisons table at the bottom is worth its weight in gold. ignore the haters, thank you OP
      swyx on HN
    • I'm impressed. 3.54KB minified, great performance, good results.
      simonw on HN

Objections

  • Does not handle substitution typos well or missing spaces

    From 3 comments
    • Thank you for this! I am also quite frustrated with the current state of full text search in the javascript world. All libs I've tried miss the most basic examples and their…
      moralestapia on HN
    • It doesn't seem to handle missing spaces https://leeoniya.github.io/uFuzzy/demos/compare.html?libs=uFuzzy,fuzzysort,QuickScore&search=lanoel
      trinovantes on HN
    • 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…
      systemz on HN
  • Behaves more like grep than fuzzy search; ordering is weak

    From 2 comments
    • I have spent many days searching for the best JavaScript implementation of full text search that handles typos (substitutions) well. Implementing a good indexing algorithm for…
      molf on HN
    • A blunt answer to your question is: I didn't take the time to read everything. Sorry for missing that feature. I stand by my overall point though. There is more to search than…
      molf on HN

Requests

  • Better typo tolerance, especially substitutions

    From 2 comments
    • Sure, but then that's pretty much the core thing to solve on the fuzzy search problem. Anyway, not being a hater (as that other commenter suggested), if you could add support for…
      moralestapia on HN
    • > even if it's limited, one or two typos at most This would help a lot I think. When I'm on mobile, the most common error is "keyboard offset error", where I hit a "key" next to…
      magicalhippo on HN
  • Document the ES module build

    From 1 comment

Questions

  • How does it compare to Fuse.js and Levenshtein

    From 2 comments

Alternatives named

  • Fuse.js

    From 1 comment
  • MiniSearch

    From 1 comment
    • I have spent many days searching for the best JavaScript implementation of full text search that handles typos (substitutions) well. Implementing a good indexing algorithm for…
      molf on HN
  • FlexSearch

    From 1 comment
    • yep. the core is regexp based and there is no string distance assertion during initial pre-filtering, so this wont be a use case uFuzzy can accomodate. the intro does caveat that…
      leeoniya on HN
  • fuzzysort

    From 1 comment
    • Skimming I don’t think you have my code. Also on phone so may have missed it. Amusingly you do have Hearthstone cards and UE4 filenames whose data definitely comes from my post.…
      forrestthewoods on HN

Category, keywords, summaries and labels on this page were made by AI (Thread Reader v2) and not checked by hand. Each point links to the comments it came from.

Add a badge to your READMEShown on HackerShow
[![Shown on HackerShow](https://hackershow.org/badge.svg)](https://hackershow.org/show/33035580)