Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR. Learn more →
Top 9 JavaScript fuzzy-search Projects
-
The feature was powered by flexsearch — a zero-deps full-text search library; ooh boy I'm a big fan of lightweight and no/low dependencies. I dug into how Nextra uses this to index content at build-time for search; it was interesting.
-
CodeRabbit
CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
-
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.
-
Project mention: Regular Expression Matching with a Trigram Index (2012) | news.ycombinator.com | 2024-05-27
> The conversion to a query is not simply a matter of pulling out the text strings and turning them into AND expressions, although that is part of it.
heh, that's kinda what uFuzzy [0] does, but it can also compose a regexp that simulates a Damerau-Levenshtein distance [1] of 1 :)
[0] https://github.com/leeoniya/uFuzzy
[1] https://en.wikipedia.org/wiki/Damerau%E2%80%93Levenshtein_di...
-
import { ratio, } from 'fuzzball'; import { SequenceMatcher } from 'difflib'; // modified from: https://github.com/nol13/fuzzball.js/blob/773b82991f2bcacc950b413615802aa953193423/fuzzball.js#L942 function partial_ratio(str1: string, str2: string) { if (str1.length <= str2.length) { var shorter = str1 var longer = str2 } else { var shorter = str2 var longer = str1 } var m = new SequenceMatcher(null, shorter, longer); var blocks = m.getMatchingBlocks(); let bestScore: number = 0; let bestMatch: string | null = null let bestStartIdx: number = -1 for (var b = 0; b < blocks.length; b++) { var long_start = (blocks[b][1] - blocks[b][0]) > 0 ? (blocks[b][1] - blocks[b][0]) : 0; var long_end = long_start + shorter.length; var long_substr = longer.substring(long_start,long_end); var r = ratio(shorter,long_substr); if (r > bestScore) { bestScore = r; bestMatch = long_substr; bestStartIdx = long_start; } if (r > 99.5) { break; } } return { bestMatch, bestScore, bestStartIdx, } }
-
-
-
firefox-command-palette
Control Firefox with Sublime/helm-M-x style fuzzy complete. Use it from the omnibar with the ; search prefix, or trigger a pop-up with Ctrl+Space.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
-
docjump
A fuzzy-finder for methods, fields etc., in documentation reference pages for programming languages and software development frameworks.
JavaScript fuzzy-search discussion
JavaScript fuzzy-search related posts
-
Regular Expression Matching with a Trigram Index (2012)
-
Show HN: A fast, accurate and multilingual fuzzy search lib for the front end
-
Unlocking Advanced RAG: Citations and Attributions
-
Character and Subsector generators for Classic Traveller, with TAS Forms!
-
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
-
List.js: vanilla JavaScript list filter/sort with fuzzy match
-
Any emacs-ng specific packages?
-
A note from our sponsor - CodeRabbit
coderabbit.ai | 2 Nov 2024
Index
What are some of the best open-source fuzzy-search projects in JavaScript? This list will help you:
Project | Stars | |
---|---|---|
1 | flexsearch | 12,470 |
2 | list.js | 11,193 |
3 | uFuzzy | 2,640 |
4 | fuzzball.js | 516 |
5 | fzy.js | 151 |
6 | inquirer-fuzzy-path | 87 |
7 | firefox-command-palette | 28 |
8 | ng-fuzzy-search | 11 |
9 | docjump | 3 |