For an instant search engine for my site, the first results are oramasearch/orama (Orama is a self-hostable, embeddable full-text search engine with built-in typo tolerance and instant search capabilities, making it a perfect fit for adding real-time, fault-tolerant search to a website), meilisearch/meilisearch (Meilisearch is a self-hostable, RESTful search engine that delivers instant, typo-tolerant full-text and semantic search via a developer-friendly API, exactly matching the requirement for a fuzzy, real-time search service you can embed into a website) and manticoresoftware/manticoresearch (Manticore Search is a production‑grade self‑hosted full‑text search engine with fuzzy/typo‑tolerant matching, real‑time indexing, configurable BM25 ranking, and a REST API, making it a complete drop‑in for an instant search backend on a website). olivernn/lunr.js and blevesearch/bleve round out the shortlist. Compare the match explanations and check the project documentation against your requirements.
High-performance search libraries and engines that provide fuzzy matching and real-time results for websites.
Orama is a search engine and vector database that provides full-text indexing, geospatial calculations, and semantic vector storage. It functions as an LLM retrieval engine designed to provide grounded context to language models for conversational interfaces. The project implements hybrid search by combining dense vector embeddings with inverted keyword indices to retrieve documents based on both semantic meaning and exact text matches. It utilizes a WebAssembly module to execute search logic across different JavaScript environments and platforms. The system covers a broad range of retrieval
Orama is a self-hostable, embeddable full-text search engine with built-in typo tolerance and instant search capabilities, making it a perfect fit for adding real-time, fault-tolerant search to a website.
Meilisearch is a Rust-based search engine providing typo-tolerant full-text and vector-based semantic search with real-time conversational capabilities.
Meilisearch is a self-hostable, RESTful search engine that delivers instant, typo-tolerant full-text and semantic search via a developer-friendly API, exactly matching the requirement for a fuzzy, real-time search service you can embed into a website.
Manticoresearch is a high-performance search engine and database designed for indexing and retrieving large datasets. It functions as a full-text search engine, a vector search database, and a SQL-based search database, providing a distributed search cluster architecture. The system provides an alternative to the Elasticsearch stack, offering a compatible API for indexing and searching structured and unstructured data. It distinguishes itself by supporting multiple retrieval methods, including vector matching for similarity search, geospatial queries, and traditional full-text ranking. The p
Manticore Search is a production‑grade self‑hosted full‑text search engine with fuzzy/typo‑tolerant matching, real‑time indexing, configurable BM25 ranking, and a REST API, making it a complete drop‑in for an instant search backend on a website.
lunr.js is a JavaScript full-text search library and client-side search engine. It creates in-memory search indexes for fast keyword retrieval and ranked document matching within browser or Node.js environments. The library utilizes a JSON serializable search index, allowing the search structure to be converted to and from JSON for storage and distribution of pre-built search data. This enables search functionality for static websites by indexing content into portable files. The system supports advanced querying capabilities, including fuzzy text matching to account for typos, field-scoped i
lunr.js is a client-side JavaScript full-text search library with built-in fuzzy matching for typo-tolerant searches, making it ideal for instant-as-you-type search on static websites — it lacks a REST API but can be embedded directly in any web page.
Bleve is a search indexing engine library written in Go, designed to provide full-text search and document retrieval capabilities for embedded application data. It functions as a framework for indexing structured or unstructured information, allowing developers to build searchable collections that support complex query logic and data analysis. The engine distinguishes itself through a pluggable analysis pipeline that normalizes text before indexing, alongside support for vector similarity search to identify semantically related content. It utilizes finite-state transducer automata for efficie
Bleve is a full-text search engine library in Go that supports fuzzy/typo-tolerant queries and can be embedded in applications, making it a good fit for self-hosted search, though it lacks a built-in REST API for direct indexing and search.
Tantivy is a library for building full-text search engines and indexing frameworks. It provides the core components necessary to organize large collections of text data into searchable structures, enabling the execution of complex queries and the retrieval of information across structured document sets. The engine utilizes an inverted index architecture to map terms to document identifiers, supported by a segment-based storage model that balances search performance with write throughput. It incorporates specialized data structures, including finite state transducers for term dictionaries and
Tantivy is a Rust full-text search engine library that you embed into your own application—it handles fuzzy matching, full-text indexing, and configurable ranking, which exactly fits building a typo-tolerant, self-hosted search; you would need to add your own REST API and as‑you‑type UI, but the core search machinery is here.
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
Fuse is a client-side fuzzy search library that indexes JSON data and provides typo-tolerant, relevance-ranked results, making it a good fit for embeddable instant search; however, it lacks a self-hosted backend and REST API for indexing, so it is a narrower match than a full-service search engine.
Elasticsearch is a distributed search engine and document store designed for the high-performance indexing and retrieval of massive volumes of unstructured data. It functions as a centralized analytics platform, providing a schema-flexible architecture that organizes information into searchable indices while maintaining global cluster state through a distributed consensus mechanism. The platform distinguishes itself through its integrated approach to observability, security, and advanced analytics. It combines full-text, vector, and hybrid search capabilities with machine learning-driven insi
Elasticsearch is a self-hostable distributed search engine with a REST API that supports full-text indexing, fuzzy (typo-tolerant) matching, and configurable relevance scoring, making it a strong fit for adding real-time, as-you-type search capabilities to a website.
Typesense is a distributed search engine designed to provide sub-millisecond query latency across massive datasets. It functions as both a high-performance indexing and retrieval engine and a comprehensive search experience platform, offering built-in typo tolerance and tools for managing relevance through synonym configuration, result curation, and complex filtering. The platform distinguishes itself by utilizing in-memory indexing to maintain high-throughput data retrieval and integrating vector database capabilities to support semantic similarity searches. It ensures data consistency and h
Typesense is a self-hostable distributed search engine offering sub‑millisecond as‑you‑type responses, built‑in typo tolerance, full‑text indexing, configurable ranking, and a REST API—directly meeting your need for a typo‑tolerant instant search engine to integrate into a website.
Minisearch is a JavaScript search library that provides full-text indexing, fuzzy/typo-tolerant matching, autocomplete, and configurable ranking, all embeddable in websites or Node.js apps—covering the core instant search needs, though you would need to build your own REST API wrapper around it.
Zincsearch is a high-performance, self-hosted full-text search engine and database written in Go. It provides a lightweight infrastructure for indexing and searching unstructured text data, specializing in log and event analysis through a schemaless indexing model. The system is designed as a resource-efficient alternative to heavier search infrastructure, featuring an API surface compatible with Elasticsearch for indexing and querying documents. It distinguishes itself by packaging the entire server and its built-in web search interface into a single statically linked binary. The engine cov
ZincSearch is a self-hosted full-text search engine with an Elasticsearch-compatible REST API, making it suitable for website search, but its primary focus on log/event analysis means typo-tolerant and instant search require configuration rather than being built-in defaults — still a valid fit for a self-hosted search backend.
OpenSearch is a distributed search and analytics engine designed for indexing, searching, and analyzing massive volumes of structured and unstructured data in real time. It functions as a comprehensive platform that integrates enterprise-grade search capabilities, a vector database for high-dimensional similarity lookups, and a unified observability suite for monitoring logs, metrics, and traces across complex distributed environments. The platform distinguishes itself through its support for agentic workflow automation, allowing users to orchestrate multi-agent tasks and integrate foundation
OpenSearch is a leading open-source distributed search engine that provides full-text indexing, fuzzy (typo-tolerant) matching, real-time search capabilities, a REST API for indexing and search, and configurable ranking, all while being fully self-hostable, making it an excellent fit for building typo-tolerant instant search on a website.
Flexsearch is a full-text search library designed to execute complex indexing and retrieval operations directly within the web browser. By operating entirely on the client side, it enables rapid information lookup without requiring a backend server, ensuring that search functionality remains self-contained and private. The library distinguishes itself through a highly configurable text processing pipeline that allows developers to tailor tokenization and normalization to specific language requirements. To maintain interface responsiveness during large-scale queries, it utilizes background thr
FlexSearch is a client-side full-text search library that runs entirely in the browser, offering fuzzy matching and instant search without a backend—making it a great fit for embeddable, typo-tolerant website search, though it lacks a REST API and is not self-hosted in the traditional server sense, limiting it to in-browser indexing only.
RediSearch is a Redis module that adds secondary indexing, full-text search, aggregation, and vector similarity search directly into the in-memory data store. It operates as an in-process search engine, extending the core key-value store with capabilities for indexing hash and JSON documents, enabling fast field-level lookups beyond primary key access. The module provides a full-text search engine built on inverted indexes, supporting stemming, fuzzy matching, and relevance scoring via tf-idf. It also includes a vector similarity search engine using a Hierarchical Navigable Small World graph
RediSearch is a Redis module that adds full-text search with fuzzy (typo-tolerant) matching and relevance scoring directly into Redis, enabling real-time, embeddable indexing and search for websites already using Redis, though it does not provide a built-in REST API.
Toshi is a full-text search engine and library implemented in Rust, designed to manage and query large-scale structured datasets. It functions as a distributed search platform that enables high-speed information retrieval across massive collections of data. The system distinguishes itself through an architecture built for high-throughput ingestion and parallel query execution. It utilizes an actor-model concurrency framework to coordinate worker processes and employs distributed sharding to partition index segments across multiple nodes. To maintain performance and data integrity, the engine
Toshi is a full-text search engine built in Rust, designed to be self-hosted and comparable to Elasticsearch, which fits the requirement for a self-hosted, embeddable search solution with indexing and search capabilities.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| oramasearch/orama | 10.4K | TypeScript | NOASSERTION | |
| meilisearch/meilisearch | 58.1K | Rust | NOASSERTION | |
| 11.8K |
| C++ |
| GPL-3.0 |
| olivernn/lunr.js | 9.2K | JavaScript | MIT |
| blevesearch/bleve | 11K | Go | apache-2.0 |
| quickwit-oss/tantivy | 15.4K | Rust | MIT |
| krisk/fuse | 20.3K | JavaScript | Apache-2.0 |
| elastic/elasticsearch | 77K | Java | NOASSERTION |
| typesense/typesense | 25.3K | C++ | gpl-3.0 |
| lucaong/minisearch | 5.8K | TypeScript | mit |