What is Typesense?
Typesense is an incredibly fast search engine that can tolerate typos, allowing you to quickly and accurately search your data even if you make mistakes while typing. Unlike other search engines such as Algolia and Elasticsearch, Typesense is open source, which means that you can use it for free and modify it to suit your needs with confidence.
Typesense is designed to be user-friendly, even if you're not a search engine expert. Its cutting-edge search algorithms take advantage of the latest hardware capabilities so that you can get the best performance for your applications. Additionally, Typesense is privacy-friendly, demonstrating its respect for the privacy of your users.
With Typesense, you can create a plethora of search experiences. From blazing-fast search experiences to faceted navigation experiences, geo-search, vector search, semantic search, similarity search, and more. Typesense enables you to make your applications more user-friendly, ultimately helping your users find what they're looking for easily and with confidence.
- A dataset containing 2.2 Million recipes (recipe names and ingredients):
- Took up about 900MB of RAM when indexed in Typesense
- Took 3.6mins to index all 2.2M records
- On a server with 4vCPUs, Typesense was able to handle a concurrency of 104 concurrent search queries per second, with an average search processing time of 11ms.
- A dataset containing 28 Million books (book titles, authors and categories):
- Took up about 14GB of RAM when indexed in Typesense
- Took 78mins to index all 28M records
- On a server with 4vCPUs, Typesense was able to handle a concurrency of 46 concurrent search queries per second, with an average search processing time of 28ms.
- With a dataset containing 3 Million products (Amazon product data), Typesense was able to handle a throughput of 250 concurrent search queries per second on an 8-vCPU 3-node Highly Available Typesense cluster.
- Typo Tolerance: Handles typographical errors elegantly, out-of-the-box.
- Simple and Delightful: Simple to set-up, integrate with, operate and scale.
- ⚡ Blazing Fast: Built in C++. Meticulously architected from the ground-up for low-latency (<50ms) instant searches.
- Tunable Ranking: Easy to tailor your search results to perfection.
- Sorting: Sort results based on a particular field at query time (helpful for features like "Sort by Price (asc)").
- Faceting & Filtering: Drill down and refine results.
- Grouping & Distinct: Group similar results together to show more variety.
- Federated Search: Search across multiple collections (indices) in a single HTTP request.
- Geo Search: Search and sort by results around a geographic location.
- Vector search: support for both exact & HNSW-based approximate vector searching.
- Scoped API Keys: Generate API keys that only allow access to certain records, for multi-tenant applications.
- Synonyms: Define words as equivalents of each other, so searching for a word will also return results for the synonyms defined.
- Curation & Merchandizing: Boost particular records to a fixed position in the search results, to feature them.
- Raft-based Clustering: Setup a distributed cluster that is highly available.
- Seamless Version Upgrades: As new versions of Typesense come out, upgrading is as simple as swapping out the binary and restarting Typesense.
- No Runtime Dependencies: Typesense is a single binary that you can run locally or in production with a single command.
- Easy to install with Docker
Typesense is written in C++.