Hi! I am from the Meilisearch team :)
Meilisearch has been designed from the ground up for end-user search. We target to answer results in less than 50ms to give the impression of instantaneity, which is what you are looking for when building cmd + k search
Meilisearch is one of the most recent search engines amongst those you cited, which makes for the best developer experience both for deployment/hosting & for development. You can find integrations with the most popular frameworks & languages https://www.meilisearch.com/docs/learn/what_is_meilisearch/s... which allows you to get up to speed in few minutes.
And for relevancy/accuracy, Meilisearch offers full-text search with typo tolerance, synonyms, etc and the latest releases introduced semantic search & hybrid search. This is an API we are very proud of because it gives you a state-of-the-art search with the best DX out there.
Typesense might be a good alternative because it can be more performant for some use cases, but the DX is less smooth, I'd say.
Vespa might be relevant if you are looking for a very specific recommendation system. Still, now that Meilisearch offers semantic search & hybrid search I am not sure today in which context Vespa might be more relevant
I don't know much about Manticore unfortunately.
Let me know if you have any questions about it, but I'd encourage you to spend 10 minutes to see by yourself what's possible or not and join the community on Discord if you have any questions https://discord.meilisearch.com
That's the point! We don't ambition to compete with Elastic on everything (logs, analytics, etc). We are doing search for front-end users with a strong focus on relevancy, speed & developer experience.
You can read a bit more on our documentation https://docs.meilisearch.com/learn/what_is_meilisearch/compa...
A quick question, are there any limits around number of separate indexes we can have with meilisearch? I'm thinking atleast say 20-30K separate indexes to start with.
My use case is that i want to start creating some indexes that are "per-user" and some "per-company" where a company(customer) might have many users. This is to do some sort of double tenant isolation. I will create different keys that have permission to specific indexes and deliver those to the user somehow. My current solution does hacky things with Elasticsearch like adding query filters by user/company-id attributes in the background automatically. But since meilisearch would be customer facing, i need stronger guarantees around permissions per index.
I tried this out a year ago on Meilsearch locally, but haven't stress tested it by creating thousands of them like production.
Or is there a better way to do this. This is also a reason where memory-only systems like Typesense didn't make sense to me. I'm fine with taking a performance hit by going to disk to pull the right index. Not every index will be used all the time. I might also look at sharding/partitioning features if present.
> A quick question, are there any limits around number of separate indexes we can have with meilisearch?
Yes! In v1.0, about 180 indexes under Linux in the same instance[1]. The good news is that I'm personally working on lifting this limitation for v1.1 (planned to release in the beginning of April), which should be able to accommodate an unlimited number of indexes[2] (disk space permits, of course).
Note that having many indexes does have an impact on performance and will keep doing so even after v1.1.
> Or is there a better way to do this.
If it works for your use case, you can try using a single index (or a few indexes) with tenant tokens[3] for multitenancy.
Ah yep sorry I missed that! Good to know. I just saw the next option was $1200 and my eyes became fixated on the number.
Maybe I will try out the cloud version then even though I expect my site would probably be well in the free tier limit, like I said it seems like a very generous tier.
Meilisearch is an open-source search API.
We provide developers tools to implement search bars, so their users spend less time searching & more time finding.
We are looking for a few different roles:
- Full-stack software engineer working on the cloud offering (React, Rails, K8s)
- Senior software engineer working on the core engine (Rust)
- Technical community manager
Salaries are location independent; you'll get equity, six weeks of PTO, and three months of paid parental leave.
Meilisearch is one of the most recent search engines amongst those you cited, which makes for the best developer experience both for deployment/hosting & for development. You can find integrations with the most popular frameworks & languages https://www.meilisearch.com/docs/learn/what_is_meilisearch/s... which allows you to get up to speed in few minutes.
And for relevancy/accuracy, Meilisearch offers full-text search with typo tolerance, synonyms, etc and the latest releases introduced semantic search & hybrid search. This is an API we are very proud of because it gives you a state-of-the-art search with the best DX out there.
Typesense might be a good alternative because it can be more performant for some use cases, but the DX is less smooth, I'd say.
Vespa might be relevant if you are looking for a very specific recommendation system. Still, now that Meilisearch offers semantic search & hybrid search I am not sure today in which context Vespa might be more relevant
I don't know much about Manticore unfortunately.
Let me know if you have any questions about it, but I'd encourage you to spend 10 minutes to see by yourself what's possible or not and join the community on Discord if you have any questions https://discord.meilisearch.com