awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
krisk avatar

krisk/Fuse

0
View on GitHub↗
20,347 stars·809 forks·JavaScript·Apache-2.0·22 viewsfusejs.io↗

Fuse

Fuse is a JavaScript fuzzy search library and client-side search engine designed to index and query JSON data. It provides utilities for approximate string matching and ranking results by relevance, allowing applications to perform fast filtering and searching of datasets without a dedicated backend.

The library distinguishes itself through a token-based search implementation that supports word-order independence and relevance weighting. It utilizes edit-distance scoring to handle typos and insertions, and employs a system of field weighting to prioritize matches in high-value data keys.

The project covers a broad range of search and indexing capabilities, including boolean-logic query parsing, nested data traversal via path notation, and character-level match indexing for visual highlighting. It also includes performance features such as index caching and worker-thread parallelization to process large datasets without blocking the main thread.

Features

  • Fuzzy Search Engines - Provides a fuzzy search engine that splits multi-word queries into tokens and ranks results by term frequency.
  • Client-Side Search Engines - Provides a complete client-side search engine for indexing and querying JSON data within the browser.
  • Field Weighting - Assigns importance levels to different data keys to prioritize matches in high-value fields during sorting.
  • JSON Path Searching - Implements searching for nested objects and arrays in JSON using path notation and weighted scoring.
  • Nested Data Search Tools - Enables locating matches within deeply nested JSON objects or arrays using path notation.
  • Query Tokenization - Splits multi-word queries into independent terms using regular expressions to support word-order independent matching.
  • Token-Based Matching Systems - Splits queries into individual terms to support word-order independence and relevance weighting.
  • Edit Distance Calculators - Uses edit distance calculations to determine the similarity between a query and a target string.
  • Edit Distance Matchers - Provides an approximate string matching utility based on edit distance to handle typos.
  • Approximate String Searching - Implements fuzzy matching that tolerates typos and character insertions by calculating edit distance.
  • Field Weighting - Assigns importance levels to different data fields to prioritize matches in high-value keys.
  • Relevance Scoring - Calculates relevance scores based on field weights and similarity to order search results.
  • Word-Order Independent Execution - Splits multi-word queries into independent terms to ensure search results are word-order independent.
  • Fuzzy Search Libraries - Provides a lightweight JavaScript library for approximate string matching and relevance-based ranking.
  • Index Serialization - Builds a searchable representation of data that can be serialized and cached for reuse across sessions.
  • Logical Search Operators - Supports advanced query syntax using specialized operators for exact, prefix, and inverse matches.
  • Complex Search Querying - Enables complex filtering of JSON datasets using boolean operators and logical query patterns.
  • Similarity Thresholds - Excludes matches that exceed a specific similarity score threshold to balance precision and fuzziness.
  • Match Position Mapping - Tracks exact character positions of matches to enable precise visual highlighting in the UI.
  • Tokenizers - Defines how text is split into tokens using regular expressions or locale-aware functions.
  • Boolean Predicate Parsing - Implements parsing of boolean expressions to require or exclude specific text matches in queries.
  • Query Path Traversals - Allows locating matches within deeply nested objects or arrays using path notation.
  • Worker Thread Patterns - Distributes search tasks across background worker threads to maintain main-thread responsiveness.
  • Term Matching Configurations - Allows configuring whether a record must match all query terms or any single term.
  • Text Highlighting Utilities - Identifies character positions of matches to enable visual styling and highlighting of found text.
  • Parallel Processing Workers - Uses background workers to process search tasks, preventing the browser's main thread from freezing.
  • Utilities and Helpers - Lightweight fuzzy-search library for JavaScript.

Star history

Star history chart for krisk/fuseStar history chart for krisk/fuse

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Fuse

Similar open-source projects, ranked by how many features they share with Fuse.
  • farzher/fuzzysortfarzher avatar

    farzher/fuzzysort

    4,302View on GitHub↗

    fuzzysort is a JavaScript library for performing approximate string matching and ranking results. It functions as a string matching engine and weighted search utility designed to identify approximate matches within text and object lists. The library features a pre-indexed search implementation that processes target strings into an optimized format to accelerate repeated lookups. It supports weighted object retrieval, allowing users to search through lists of objects by matching multiple keys and applying custom weights to prioritize specific fields. The engine provides capabilities for searc

    JavaScriptfilterfuzzyjavascript
    View on GitHub↗4,302
  • lucaong/minisearchlucaong avatar

    lucaong/minisearch

    5,804View on GitHub↗
    TypeScriptautocompleteautosuggestionedge-computing
    View on GitHub↗5,804
  • pagefind/pagefindPagefind avatar

    Pagefind/pagefind

    5,287View on GitHub↗

    Pagefind is a static site search engine that indexes HTML files to provide a browser-based search experience without the need for a backend server or API. It consists of a multilingual search indexer and a set of prebuilt, customizable user interface components for rendering search inputs and result lists. The system is designed for global content, utilizing a multilingual search indexer that detects page languages and creates independent index bundles to provide language-specific stemming and results. It further optimizes performance by using a compressed index and offloading query execution

    Rust
    View on GitHub↗5,287
  • tarekraafat/autocomplete.jsTarekRaafat avatar

    TarekRaafat/autoComplete.js

    4,020View on GitHub↗

    autoComplete.js is a vanilla JavaScript library used to add searchable suggestion dropdowns to input elements. It functions as a client-side search engine and input lifecycle manager that operates without external dependencies or frameworks. The library features a customizable search engine with multiple matching modes and diacritics support for accurate data filtering. It includes a request debouncing utility to limit the frequency of network requests by delaying search execution during active typing. The system provides DOM-based suggestion rendering for real-time value discovery and an ev

    JavaScriptauto-completeautocompleteautocomplete-component
    View on GitHub↗4,020
See all 30 alternatives to Fuse→

Frequently asked questions

What does krisk/fuse do?

Fuse is a JavaScript fuzzy search library and client-side search engine designed to index and query JSON data. It provides utilities for approximate string matching and ranking results by relevance, allowing applications to perform fast filtering and searching of datasets without a dedicated backend.

What are the main features of krisk/fuse?

The main features of krisk/fuse are: Fuzzy Search Engines, Client-Side Search Engines, Field Weighting, JSON Path Searching, Nested Data Search Tools, Query Tokenization, Token-Based Matching Systems, Edit Distance Calculators.

What are some open-source alternatives to krisk/fuse?

Open-source alternatives to krisk/fuse include: farzher/fuzzysort — fuzzysort is a JavaScript library for performing approximate string matching and ranking results. It functions as a… lucaong/minisearch. pagefind/pagefind — Pagefind is a static site search engine that indexes HTML files to provide a browser-based search experience without… tarekraafat/autocomplete.js — autoComplete.js is a vanilla JavaScript library used to add searchable suggestion dropdowns to input elements. It… seatgeek/fuzzywuzzy — Fuzzywuzzy is a Python library and text processing utility designed to calculate similarity scores between strings. It… maxbachmann/rapidfuzz — This is a Python fuzzy string matching library used for calculating string similarity and edit distances. It serves as…