typesense  by typesense

Open source search engine alternative

Created 9 years ago
26,287 stars

Top 1.9% on SourcePulse

GitHubView on GitHub
Project Summary

Typesense is an open-source, fast, typo-tolerant search engine designed for building user-friendly search experiences. It aims to be a simpler alternative to Elasticsearch and a self-hosted option to Algolia, targeting developers who need to integrate powerful search capabilities into their applications.

How It Works

Typesense is built in C++ for performance and operates as a single, self-contained native binary with no runtime dependencies. It employs an in-memory indexing approach for low-latency searches. Key features include typo tolerance, tunable ranking, faceting, filtering, geo-search, and advanced capabilities like vector search, semantic/hybrid search, conversational search (RAG), image search, and voice search, all accessible via a clean API.

Quick Start & Requirements

  • Install: Run via Docker: docker run -p 8108:8108 -v/tmp/data:/data typesense/typesense:28.0 --data-dir /data --api-key=Hu52dwsas2AdxdE
  • Dependencies: Python client requires pip install typesense. Building from source requires a C++11 compatible compiler, Snappy, zlib, OpenSSL (>=1.0.2), curl, and ICU.
  • Resources: A fresh server consumes ~30MB RAM; memory usage scales with indexed data.
  • Links: Documentation, Roadmap, Slack Community, Live Demos.

Highlighted Details

  • Performance: Benchmarked at 11ms average search processing time with 104 concurrent queries/sec on a 4vCPU server for 2.2M recipes.
  • Advanced Features: Supports vector search, semantic/hybrid search with built-in or external embeddings, RAG, image search (CLIP), and voice search (Whisper).
  • Data Modeling: Offers JOINs for relational data and tunable ranking/faceting at query time.
  • Scalability: Supports Raft-based clustering for high availability.

Maintenance & Community

Typesense is actively developed by Typesense Inc. with a public roadmap and a strong community presence via Slack. Docker images have over 12M downloads, and Typesense Cloud serves over 10 billion searches monthly.

Licensing & Compatibility

Typesense Server is licensed under GPLv3, intended for server-side deployment. Client libraries are Apache licensed. The GPLv3 license for the server is chosen to encourage community contributions of modifications, while allowing internal use without open-sourcing internal modifications.

Limitations & Caveats

The GPLv3 license for the server component may be a concern for some integration scenarios. Typesense currently lacks personalization and server-based search analytics, though client-side instrumentation is possible.

Health Check
Last Commit

1 week ago

Responsiveness

1 day

Pull Requests (30d)
8
Issues (30d)
19
Star History
343 stars in the last 30 days

Explore Similar Projects

Starred by Vaibhav Nivargi Vaibhav Nivargi(Cofounder of Moveworks), Jared Palmer Jared Palmer(SVP at GitHub; Founder of Turborepo; Author of Formik, TSDX), and
4 more.

searchkick by ankane

0.0%
7k
Ruby gem for integrating intelligent search
Created 13 years ago
Updated 1 week ago
Starred by Chip Huyen Chip Huyen(Author of "AI Engineering", "Designing Machine Learning Systems"), Zack Li Zack Li(Cofounder of Nexa AI), and
12 more.

search_with_lepton by leptonai

0.0%
8k
Conversational search engine demo
Created 2 years ago
Updated 7 months ago
Starred by John Resig John Resig(Author of jQuery; Chief Software Architect at Khan Academy), Simon Horup Eskildsen Simon Horup Eskildsen(Cofounder of Turbopuffer), and
21 more.

meilisearch by meilisearch

0.2%
58k
Search engine API for integrating AI-powered hybrid search
Created 8 years ago
Updated 2 days ago
Feedback? Help us improve.