typesense
Typesense is a blazing-fast, in-memory fuzzy search engine built in C++. It provides typo tolerance, faceted filtering, geosearch, vector search, and semantic/hybrid search out of the box. Easy to set up, operate, and scale, with no runtime dependencies.
Smart Download
Visit Project Homepage
No installer available yet — head to the source repository
A fast, typo-tolerant open-source search engine - a simpler alternative to Algolia and ElasticSearch.
Core Features
- Typo tolerance: automatically handles misspellings without configuration
- Blazing fast: <50ms search latency due to C++ and memory-first architecture
- Tunable ranking: customize search result ordering
- Faceting & filtering: drill down and refine results dynamically
- Federated search: query multiple collections in one request
What It Can't Do
- •Typesense stores indexes in RAM, so large datasets (e.g., 28M books) require significant memory (~14GB). Not suitable for low-memory environments. The open-source version is GPL-3.0 licensed; commercial use may require a different license.
Use Cases
- E-commerce: product search with filtering, sorting, and recommendations
- Documentation sites: full-text search with instant suggestions
- Location-based apps: search restaurants, listings by proximity
Detailed Introduction
Typesense是一个用C++构建的内存模糊搜索引擎,以极低延迟(<50ms)处理搜索请求。它提供拼写容错、排序、筛选、地理搜索、向量搜索和语义搜索等功能,可轻松替代Algolia或ElasticSearch。支持分布式集群、无运行时依赖,易于部署和扩展。
Troubleshooting & FAQ (1)
TroubleshootingHow to fix 'type must be string, but is null' error in Typesense with Cloudflare Workers AI streaming?
This error occurs in Typesense v30.1 when using Cloudflare Workers AI for conversational search. Cloudflare's final SSE chunk contains "response": null, causing a JSON type error. Upgrade to a Typesense version where this is fixed (v30.2+ possibly). As a workaround, in conversation_model.cpp line 978, add a null check before accessing the response field: if (chunk["response"].is_null()) continue;. This skips the usage-only chunk and allows the streaming response to be processed correctly.
Tags
Getting Started
Download installer
Click the button above to download the installer for your system
Install the software
Double-click the downloaded installer and follow the prompts
Run with Docker: docker run -p 8108:8108 -v/tmp/data:/data typesense/typesense:29.0 --data-dir /data --api-key=Hu52dwsas2AdxdE
Install Python client: pip install typesense
Write a script to create collection, index documents, and perform search (see official docs)
- Run with Docker: docker run -p 8108:8108 -v/tmp/data:/data typesense/typesense:29.0 --data-dir /data --api-key=Hu52dwsas2AdxdE
- Install Python client: pip install typesense
- Write a script to create collection, index documents, and perform search (see official docs)
Checksum not available
This project has not published a SHA-256 checksum on its GitHub Release page
SHA256 Checksum
No checksum available
Download directly from GitHub Releases and verify file integrity yourself
All SHA-256 checksums on this platform are extracted from the project's official GitHub Release page, without any modification. You can independently verify them on the GitHub Releases page.
Open Source Transparency
View GitHub SourceUninstall Info
If using Docker, run docker stop and docker rm to remove the container, then delete the local data directory. If installed via binary, simply delete the typesense executable and configuration files.
No Extra Dependencies
Ready to use after download. No additional runtime required.
Having issues? Check the FAQ below
1 FAQ
Similar Projects
Visual Studio Code (Code - OSS)
A free, open-source code editor by Microsoft with rich extensions, debugging, and Git integration. The most popular developer tool worldwide.
scrcpy
Display and control your Android device from your computer via USB or TCP/IP. No root required, high performance, low latency, supports audio and video mirroring.
godot
Godot Engine is a free, open-source, cross-platform 2D and 3D game engine with a unified editor. Unlike Unity or Unreal, it's entirely MIT-licensed and community-driven, offering a lightweight yet powerful node-based workflow that runs on a single executable.