typesense  by typesense

Open source search engine alternative

Created 8 years ago
24,640 stars

Top 1.6% 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 day ago

Responsiveness

1 day

Pull Requests (30d)
37
Issues (30d)
31
Star History
222 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 12 years ago
Updated 6 days 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 1 year ago
Updated 1 month 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%
54k
Search engine API for integrating AI-powered hybrid search
Created 7 years ago
Updated 5 hours ago
Feedback? Help us improve.