👋 I'm excited to share with you an open-source project I've been working on for several years. 😅
Typesense: a fast, typo-tolerant search engine that just works out-of-the-box.
If you've ever used Algolia and wanted an open source alternative or used Elasticsearch and wanted a lighter-weight easier-to-use alternative, you will certainly like Typesense.
How it all started 🤔
Let's do a quick time travel to 2014
and visit the Dinosaurs to understand how Typesense happened.
I was using Elasticsearch on several projects but was frustrated with how steep a learning curve it had and how non-trivial it was to run it on production.
Now, don't get me wrong. ES is a mature and versatile project and it has gotten better over the years, especially with hosted offerings.
However, it is still not simple enough to get started with. Especially for projects that don't actually require large scale or flexibility.
Like any engineer who does not wish to re-invent the wheel, I looked for alternatives, but the alternatives were either proprietary (like Algolia), expensive or just were not mature enough.
I wanted something that is:
💖 Open source
🌩 Easy to manage
Of course, such a project did not exist. 🙃
What then began as an exploratory research/side project into the magical world of search engines began to grow over the next few years into an open source search engine that I was happy to share and develop with the world. 🌐
So, here we are back in 2020 with Typesense!
Here are a few more reasons for picking Typesense for your next project:
- Typo Tolerance: Handles typographical errors elegantly, out-of-the-box.
- Simple and Delightful: Simple to set-up, integrate with, operate and scale.
- Blazing Fast: Meticulously architected from the ground-up for low-latency instant searches.
- Tunable Ranking: Easy to tailor your search results to perfection.
- Faceting & Filtering: Drill down and refine results.
- Grouping & Distinct: Group similar results together to show more variety of results.
- Scoped API Keys: Generate API keys that have fine-grained permissions.
- Curation & Merchandizing: Pin particular records to a fixed position in search results to highlight them.
- Easy Clustering: Setup a raft-based distributed cluster that is highly available.
- API Clients: are available in many of your favorite languages.
Typesense has an InstantSearch.js adapter that you can use to quickly build powerful search experiences, complete with filtering, sorting, pagination and more.
Here's how: https://typesense.org/docs/0.15.0/guide/#search-ui
Typesense vs ...
In future posts, I want to talk more about my experience building Typesense and compare it objectively with other awesome search solutions.
Spread the word
If you like Typesense, please do help me spread the word.
Star the repo on GitHub, Tweet or share the link with your colleagues on Slack!
And most importantly, if you find something missing, do create an issue on Github.
Top comments (2)
Thanks for creating such a great open source library ❤️