uFuzzy
trie
Our great sponsors
uFuzzy | trie | |
---|---|---|
16 | 2 | |
2,502 | 94 | |
- | - | |
7.5 | 0.0 | |
2 months ago | about 1 year ago | |
JavaScript | TypeScript | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
uFuzzy
-
Show HN: A fast, accurate and multilingual fuzzy search lib for the front end
Thank you. We need more libs like that. I just researched the field yesterday and https://github.com/leeoniya/uFuzzy looked pretty good. But there is a gap in the market of such libs. Just few allow to send the whole html document, serialize and deserialize index to be used in browser, highlighting the matches is desired feature.
Most importantly very few fuzzy search libs can get a simple substring match as a priority, which is understandable but not helpful. Imagine searching for “xample” and not having “example” among the results.
-
PruningRadixTrie – 1000x faster Radix trie for prefix search and auto-complete
interesting, i made something much more stupid but brutally effective: https://github.com/leeoniya/uFuzzy
i guess if you wanted to do sorting by contact frequency you can just keep the original haystack sorted by frequency, and get Richard match first.
-
List.js - Tiny, invisible and simple, yet powerful and incredibly fast vanilla JavaScript that adds search, sort, filters and flexibility to plain HTML lists, tables, or anything
allow me to self-promote https://github.com/leeoniya/uFuzzy
- What is your go to client-side fuzzy searching library?
-
Sotd.fun is live
Keep the tech simple and minimal. Just the basics: javascript, css, HTML. No react or other frameworks. No tech for tech's sake. I did use one very excellent search library uFuzzy.
- uFuzzy 1.0 - A tiny, efficient fuzzy search that doesn't suck
-
uFuzzy.js – A tiny, efficient fuzzy search that doesn't suck
maybe habit, maybe less devDependencies, maybe wanting to hand-author a readable/commented form of https://github.com/leeoniya/uFuzzy/blob/main/dist/uFuzzy.d.ts?
- Show HN: uFuzzy.js – A tiny, efficient fuzzy search that doesn't suck
trie
-
PruningRadixTrie – 1000x faster Radix trie for prefix search and auto-complete
If youre interested in a TypeScript fork of this that also supports deletion, see here: https://github.com/shortwave/trie
There are also a couple of bug fixes in there
-
Trie in JavaScript: The Data Structure Behind Autocomplete
Tries are fun structures!
However, for autocomplete you often want a weighted Trie because you have extra information you want to weight nodes by. An example with contacts is that you often want recent and frequent contacts.
My company has an open source trie implementation here for a client to do weighted contact auto complete: https://github.com/shortwave/trie
What are some alternatives?
fuzzysort - Fast SublimeText-like fuzzy search for JavaScript.
common - Utilities and base libraries for use across polkadot-js for Polkadot and Substrate. Includes base libraries, crypto helpers and cross-environment helpers.
minisearch - Tiny and powerful JavaScript full-text search engine for browser and Node
Typesense - Open Source alternative to Algolia + Pinecone and an Easier-to-Use alternative to ElasticSearch ⚡ 🔍 ✨ Fast, typo tolerant, in-memory fuzzy Search Engine for building delightful search experiences
pagefind - Static low-bandwidth search at scale
Angular - Deliver web apps with confidence 🚀
sotdsite - Code for sotd.fun.
zodios - typescript http client and server with zod validation
orama - 🌌 Fast, dependency-free, full-text and vector search engine with typo tolerance, filters, facets, stemming, and more. Works with any JavaScript runtime, browser, server, service!
bootstrap-table - An extended table to integration with some of the most widely used CSS frameworks. (Supports Bootstrap, Semantic UI, Bulma, Material Design, Foundation, Vue.js)
list.js - The perfect library for adding search, sort, filters and flexibility to tables, lists and various HTML elements. Built to be invisible and work on existing HTML.
Fuse - Lightweight fuzzy-search, in JavaScript