A JavaScript string-scoring and fuzzy-matching library based on the Quicksilver algorithm, designed for smart auto-complete.
QuickScore is a JavaScript library for fuzzy string matching and scoring, based on the Quicksilver algorithm. It helps developers implement smart auto-complete features by ranking search results based on how well they match a query, with optimizations for long strings like URLs or titles. The library returns scores and match ranges to enable result sorting and visual highlighting.
Frontend and JavaScript developers building search interfaces, auto-complete components, or applications that require intelligent string matching and ranking.
Developers choose QuickScore for its lightweight size (2KB), dependency-free design, and improved scoring logic that handles long strings better than the original Quicksilver algorithm, leading to more intuitive search results.
A JavaScript string-scoring and fuzzy-matching library based on the Quicksilver algorithm, designed for smart auto-complete.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
At just 2KB minified and gzipped with no dependencies, QuickScore offers high performance for client-side search, as highlighted in the README's badges and description.
Improves upon the Quicksilver algorithm to better handle long strings like URLs or titles, ensuring more logical result ordering, which is a key feature mentioned in the project description.
Supports scoring complex objects with multiple keys and returns detailed match ranges for highlighting, as demonstrated in the examples for sorting lists of objects in the README.
Comes with full TypeScript typings, making it easy to integrate into modern TypeScript projects without additional setup, as noted in the README section on TypeScript.
Accent and diacritic handling requires external libraries like latinize, which triples the bundle size if included, as admitted in the README section on ignoring diacritics.
Lacks built-in caching, configurable weighting, or advanced fuzzy logic options compared to more comprehensive libraries like Fuse.js, limiting customization for complex use cases.
Primarily designed for client-side JavaScript; while usable in Node.js, it doesn't offer server-side optimizations or integration with search databases, which might not suit full-stack applications.