30 open-source projects similar to farzher/fuzzysort, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Fuzzysort alternative.
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
Fuzzywuzzy is a Python library and text processing utility designed to calculate similarity scores between strings. It functions as a text similarity scoring engine and an approximate string matching tool used to identify the closest textual matches within a list of candidate strings. The library provides a suite of tools for measuring the degree of similarity between pieces of text, accounting for typos and formatting differences. These capabilities include extracting the best match from a candidate list and performing fuzzy string matching through various scoring methods. The toolset cover
list.js is a JavaScript search and sort library used to add real-time filtering, sorting, and pagination to HTML lists and tables without backend dependencies. It functions as a DOM data indexer and template-driven HTML renderer, allowing developers to manage how data is displayed and discovered on the client side. The library distinguishes itself through a fuzzy string matching engine that handles approximate matches and typos, and a DOM data indexer that extracts values directly from HTML data attributes to build a searchable internal index. It uses a template-driven rendering system to gen
RapidFuzz is a C++ accelerated Python library providing high-performance string comparison and similarity calculations. It functions as a fuzzy string matching toolkit used to quantify the difference between text sequences through Levenshtein distance and other edit distance metrics. The library focuses on scalable approximate text matching, enabling the identification and ranking of similar strings within large datasets. It provides specialized utilities for finding the best matches in a collection and generating pairwise similarity matrices. The project covers a broad surface of text proce
This project is a knowledge base plugin and RAG context manager that uses a local vector database interface to enable semantic search and relationship mapping. It transforms text into numerical vectors to find semantically related notes and excerpts based on conceptual meaning rather than keyword matches. The system differentiates itself through a semantic graph visualizer that maps notes into clusters to reveal conceptual connections. It also features a context manager capable of bundling local notes and excerpts into reusable packs to provide grounded factual bases for large language model
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
Searchkit is a search UI framework designed for building search interfaces with React and Vue that connect to Elasticsearch and OpenSearch backends. It provides a search query translation layer to convert frontend search states into engine-specific query languages and a result rendering engine to display hits, facet menus, and pagination. The framework includes a semantic search interface that enables vector-based nearest neighbor searches and natural language processing. It differentiates itself through an adapter-based translation system and a component-based UI mapping that connects search
This is a Python fuzzy string matching library used for calculating string similarity and edit distances. It serves as a collection of string distance algorithms, a sequence alignment tool, and an approximate string search engine to measure text similarity. The library provides a wide array of metrics to quantify string closeness, including Levenshtein, Jaro-Winkler, Hamming, and Damerau-Levenshtein distances. It supports similarity analysis through longest common subsequence calculations, token-based comparisons, and weighted scoring to account for differences in content and word order. Bey
WantWords is an open-source multilingual reverse dictionary and semantic search engine that retrieves words from written descriptions rather than exact spellings or prefixes. It solves the tip-of-the-tongue problem by letting users describe a concept and returning matching words across Chinese and English language pairs, with support for part-of-speech filtering to narrow results to specific grammatical categories like nouns, verbs, or adjectives. The tool distinguishes itself through embedding-based semantic matching that converts user descriptions and dictionary entries into vector represen
Hyperscan is a high-performance regular expression matching library that scans large volumes of data against thousands of patterns simultaneously. It accepts PCRE-compatible regular expressions and supports multi-pattern matching in a single pass, approximate matching within a configurable edit distance, and streaming mode for processing data that arrives in blocks. The library is designed for throughput-oriented scanning across block, streaming, and vectored inputs. What distinguishes Hyperscan is its hybrid automata engine, which combines deterministic and nondeterministic finite automata t
match-sorter is a JavaScript string matching and array filtering utility designed to rank and sort lists based on search string relevance. It functions as a deterministic best-match sorting library and fuzzy search engine for filtering object arrays. The tool prioritizes results using weighted match heuristics that favor exact matches, acronyms, and string containment. It employs a deterministic ranking system to ensure consistent ordering and supports diacritic-insensitive normalization to match characters regardless of accents. The library covers match criteria specification via key-path p
Vespa is a distributed search engine, vector database, and machine learning ranking engine. It serves as an AI search platform designed to handle large-scale document indexing and complex query processing across a cluster of nodes, combining keyword retrieval with high-dimensional embedding storage for semantic similarity search. The platform distinguishes itself by integrating machine learning models directly into the search pipeline to perform real-time inference and ranking. It converts these models into ranking expressions to score and order results based on relevance, while providing a s
Skim is a cross-platform interactive fuzzy finder that runs as a terminal application, a Rust library, a Vim and Neovim plugin, and a shell integration tool. It provides real-time filtering and selection from lists of items, supporting keyboard and mouse navigation, live preview panes, and multi-select functionality across Linux, macOS, and Windows. The tool distinguishes itself through a composable query expression tree that supports fuzzy, exact, inverse, prefix, suffix, and logical AND/OR operators, combined with a Smith-Waterman scoring engine that penalizes typos and gaps for natural rel
Zombodb is a database extension and relational data indexer that integrates PostgreSQL with Elasticsearch. It provides a SQL search interface, allowing users to execute complex search queries and aggregations using standard SQL functions and syntax instead of native JSON APIs. The project synchronizes relational data from PostgreSQL to a remote search engine to enable high-performance full-text search and analytics. The system distinguishes itself by bridging relational structures with search engine capabilities, specifically through geospatial search integration for geometry and geography ty
ActiveLabel.swift is a rich text parsing library and interactive text label for iOS. It functions as a replacement for standard labels, identifying specific text patterns within strings and applying distinct visual styles to recognized entities. The project enables the detection and highlighting of hashtags, mentions, and URLs using a custom regular expression text recognizer. It allows for the definition of project-specific text patterns and uses predicate-based filtering to determine if detected entities should be highlighted or ignored. The system manages user interaction through entity t
This project is a full text search engine and enterprise search infrastructure designed for indexing and retrieving large sets of documents. It provides a comprehensive framework for information discovery using ranked results and linguistic analysis. The system integrates high-dimensional vector similarity search for semantic retrieval alongside traditional full-text capabilities. It distinguishes itself through support for geospatial data retrieval, multilingual text processing, and a search suggestion workflow that includes typo-tolerant query completion and spellchecking. The platform cov
Wukong is a distributed full-text search engine designed for indexing and retrieving text documents. It functions as a customizable search backend that employs a BM25 relevance ranker to order search results based on term frequency and inverse document frequency. The system includes a specialized Chinese text segmenter to break continuous character strings into meaningful words for accurate indexing and retrieval. To handle large datasets and high request volumes, it utilizes a distributed search index that employs hash-based sharding to split documents across multiple nodes. The engine prov
Sonic is a high-performance, lightweight search backend designed to provide real-time full-text search and autocomplete capabilities for applications. It functions as a persistent indexing server that maps text terms to object identifiers, allowing developers to integrate rapid search functionality without storing raw document content directly within the search engine. The system distinguishes itself through a specialized graph-based index that enables real-time word prediction and typo correction. Communication is handled via a custom, low-latency binary protocol over raw TCP sockets, which
FlashText is a dictionary-based text processor and keyword extraction library designed for high-performance string searching and programmatic content replacement. It provides specialized utilities to identify and retrieve predefined terms from text or swap specific terms with replacement strings across large volumes of data. The project utilizes an Aho-Corasick string search implementation to enable multiple-pattern matching. This approach allows for single-pass text scanning and linear-time complexity search, ensuring processing time depends on the length of the input text rather than the si
This project is a React drag-and-drop tree component and tree data management utility used for rendering nested hierarchical data. It provides a sortable hierarchical list that allows users to manage parent-child relationships and visualize complex tree structures. The component enables interactive tree restructuring, where users can reorganize the hierarchy by dragging and dropping nodes to change their parent or sequence. It supports moving or copying nodes between different tree instances and provides controls to enforce movement restrictions based on custom logic or depth limits. The too
Analysis-ik is a Chinese text segmenter and analysis plugin for Lucene-based search engines. It provides a specialized analyzer for splitting Chinese sentences into meaningful words to improve indexing and search accuracy within Elasticsearch and OpenSearch. The project features a dynamic dictionary manager that can load word libraries and stop-word files from remote HTTP endpoints. It monitors metadata headers on these remote files to trigger automatic vocabulary updates without requiring a service restart. The analyzer supports both fine-grained exhaustive and coarse-grained smart segmenta
Reader is an AI data ingestion pipeline and web content parser designed to convert websites and documents into clean markdown for use with large language models. It functions as a headless browser content extractor and web-to-markdown converter, transforming URLs and PDF files into structured text formats while removing irrelevant web clutter. The system optimizes retrieval augmented generation by acting as a search optimizer that retrieves web results and applies re-ranking to improve context relevance. It further enhances content accessibility by using vision models to generate descriptive
USearch is a high-performance vector similarity search engine and approximate nearest neighbor index designed for dense embeddings. It functions as a low-level vector database core and high-dimensional vector indexer, providing the primitives necessary to store and retrieve vectors across massive datasets. The engine distinguishes itself through hardware-level SIMD acceleration for distance kernels and a proximity-graph indexing system that enables fast retrieval across billions of vectors. It supports multi-precision vector quantization to balance memory usage and accuracy, and utilizes memo
This project is a general-purpose command-line filter that provides an interactive interface for processing standard input streams. It enables real-time fuzzy searching, data selection, and transformation, allowing users to navigate complex information or file systems directly within their terminal. By utilizing a pipe-oriented architecture, it integrates into existing shell pipelines and workflows to facilitate efficient data exploration. What distinguishes this tool is its highly extensible, event-driven design that allows for deep integration with external processes. It supports asynchrono
Mantine is a comprehensive component library for building accessible and responsive web applications. It provides a foundational set of UI elements and layout primitives, anchored by a base component that supports consistent styling, spacing, and layout properties across the entire interface. The library is built on a design-driven theme engine that uses a provider-based system to propagate global design tokens and color schemes throughout an application. The library distinguishes itself through a robust architecture that emphasizes component composition and reusable interaction logic. It uti
This project is a framework-agnostic library for building accessible, search-as-you-type interfaces. It provides a headless logic layer that decouples search state management and result filtering from the visual presentation, allowing developers to maintain full control over the underlying HTML structure and styling. The library distinguishes itself through a highly modular architecture that supports multi-source data aggregation, enabling the combination of results from static arrays, remote APIs, and external indices into a single interface. It features a flexible rendering engine that inte
Searchkick is an integration library and wrapper that connects application models to search engines such as Elasticsearch and OpenSearch. It functions as a search index synchronizer, automatically mirroring database records to a search server to enable full-text and vector retrieval. The project provides a high-level interface for implementing keyword search, semantic vector search, and hybrid search. It distinguishes itself through the ability to combine traditional keyword matching with vector embeddings using reranking and fusion techniques to improve precision. The library covers the end
This is a navigation plugin for Vim that enables instant cursor movement by highlighting all possible jump targets in the visible text and assigning them unique keys. It functions as a search-to-jump extension, converting character or multi-character search patterns into single-key jumps to specific text targets. The tool supports multibyte text navigation, allowing users to search for and jump to Japanese characters using alphabetical input patterns. It also employs intelligent case matching and symbol-based mapping to link numeric digits with their corresponding keyboard shift-symbols. The
Bootstrap Table is a jQuery plugin for rendering interactive data grids with sorting, pagination, and filtering. It features a remote data integration system for fetching and synchronizing content from JSON endpoints using AJAX and server-side processing. The project includes a styling layer that adapts markup to work with various CSS frameworks, such as Bootstrap, Semantic UI, Bulma, and Material Design. It provides specialized rendering modes, including a hierarchical tree grid for parent-child row relationships and a responsive card-view table that transforms grids into mobile-friendly lay