Live data from Hacker News

MeiliSearch: Zero-config alternative to Elasticsearch, made in Rust

github.com

71–80 of 116 posts

Re: MeiliSearch: Zero-config alternative to Elasticsearch, made in Rust

#71
post #65

Earlier quoted context omitted.

I've been bitten by elasticsearch twice in my career, and I've seen others bitten by it as well. Once you put it in production, you can't just run it from docker on your workstation. You have to set up a cluster with enough capacity for whatever load you're going to throw at it, gracefully handle failures, updates, scaling up as load increases, etc. There are so many switches and dials to tune, and unless you really…

> Once you put it in production, you can't just run it from docker on your workstation. But that's true for any data store. This isn't any different. Nor is an RDBMS. They all need HA/replication. And that is rarely trivial. Honestly, I think this is why managed/hosted solutions (AWS RDS for example) are so popular - they remove a large part of the complexity for you.

Not all data stores. You can go quite far with an out of the box Redis instance or even PostgreSQL. No fiddling needed unless you are in triple digit QPS ranges.

Re: MeiliSearch: Zero-config alternative to Elasticsearch, made in Rust

#72
post #70

Awesome, glad to see all the competition in the search space now. There are other projects like Sonic, Tantivy, Toshi and more that have more functionality if you need alternatives. Here's a public list of search projects (in rust, c, go): https://gist.github.com/manigandham/58320ddb24fed654b57b4ba2...

Are there any that fit the log searching use case, apart from loki which doesn't do full text searching?

I think vector[0] does what you are asking for.

[0] https://github.com/timberio/vector

Re: MeiliSearch: Zero-config alternative to Elasticsearch, made in Rust

#73
post #50
post #47

I'm impressed. I have a database with 15k documents, each with around 70 pages of text, HTML formatted. I'm using ElasticSearch currently, with the Searchkick gem. 30 min playing with MeiliSearch. So far: - Blazing fast to index, like 10x more performant than using ElasticSearch / Searchkick; - Blazing fast to search, at least 3x faster in all my random tests so far; - Literally zero config; - Uses 140MB of RAM curre…

Since this got upvoted and I see the devs are replying to questions, here are some! I'm also going to point how ElasticSearch works for comparison. - The docs state that `Only a single filter is supported in a query`. This is kind of a dealbreaker for my use case, since I need at least a `user_id` and a `status` filter. ElasticSearch can work with multiple filters. Also, don't understand why you call it `filters` ins…

Hi, many answers to these questions. But first, I'll put you on the link to the public roadmap. A lot of the stuff we're working on is in there. If you need/love a feature, please add a heart emoji on it. https://github.com/orgs/meilisearch/projects/2

- Currently, we only support single filters. The multiple filters option is coming soon. https://github.com/meilisearch/MeiliSearch/issues/425

- Custom ranking rules on the fly is something imaginable on our solution. We didn't do it yet because it complexifies the search query parameters. We are waiting for feedback like yours to implement this kind of feature.

- To return only the field you need, it's already possible during the search https://docs.meilisearch.com/guides/advanced_guides/search_p.... To restrict attributes to search in during the query. We had this feature on a previous version. But like the last answer, no one used it, and it complexifies the search query.

Re: MeiliSearch: Zero-config alternative to Elasticsearch, made in Rust

#74
post #47

I'm impressed. I have a database with 15k documents, each with around 70 pages of text, HTML formatted. I'm using ElasticSearch currently, with the Searchkick gem. 30 min playing with MeiliSearch. So far: - Blazing fast to index, like 10x more performant than using ElasticSearch / Searchkick; - Blazing fast to search, at least 3x faster in all my random tests so far; - Literally zero config; - Uses 140MB of RAM curre…

But... what happens if I need more than one instance? I'm genuinely curious. I hope this doesn't come off as an asshole comment. Isn't the whole point of ES versus just plain ol' lucene or solr the horizontal scalability of it?

We are currently working on the sharding and the replication (Raft). Development is progressing well and the functionality should come out soon.

Re: MeiliSearch: Zero-config alternative to Elasticsearch, made in Rust

#75
post #63
post #47

I'm impressed. I have a database with 15k documents, each with around 70 pages of text, HTML formatted. I'm using ElasticSearch currently, with the Searchkick gem. 30 min playing with MeiliSearch. So far: - Blazing fast to index, like 10x more performant than using ElasticSearch / Searchkick; - Blazing fast to search, at least 3x faster in all my random tests so far; - Literally zero config; - Uses 140MB of RAM curre…

> in production. I went looking, but found nothing regarding any operations management. * How does this scale? * How is it monitored? Where do I get the metrics for it? (indexing performance, search performance, etc.. Stuff not found in the OS) * Are there any kind of throttling or queueing capabilities? * What's the redundancy/HA approach? * I'll ask about backups, though its the least of my worries as indexing data…

Hi, to answer your questions.

* 2 parts.

- Vertical scale: We use LMDB as a key-value store. This one uses the power of memory mapping. It made our search engine use mainly the disk and will do not need a machine that will have TB of RAM.

- Horizontal scale. We are working on sharding and replications (Raft). Development is progressing well, and the functionality should come out soon.

* Currently, it is not monitored at all. This feature is planned. https://github.com/meilisearch/MeiliSearch/issues/523

* We use a queue for updates. You can find here the complete guide https://docs.meilisearch.com/guides/advanced_guides/asynchro...

* As I said previously, we are working on HA with a raft consensus.

* We will add snapshots in no time (disk folder saved in s3). A little more time for backups (version agnostic, need indexing).

We are already working with Louis Vuitton on an application in production. The app is in production from 9 months, and there hasn't been a single problem.

Re: MeiliSearch: Zero-config alternative to Elasticsearch, made in Rust

#76

Awesome, glad to see all the competition in the search space now. There are other projects like Sonic, Tantivy, Toshi and more that have more functionality if you need alternatives. Here's a public list of search projects (in rust, c, go): https://gist.github.com/manigandham/58320ddb24fed654b57b4ba2...

Take a look at our comparison page: https://docs.meilisearch.com/resources/comparison_to_alterna...

Re: MeiliSearch: Zero-config alternative to Elasticsearch, made in Rust

#77

Earlier quoted context omitted.

That would require configuration. This is zero-config.

It'd still be zero-config to provide it's primary function. I don't think anyone would say anything against MeiliSearch or not consider it zero-config had they decided to enable analytics off an env var rather than having analytics be sent by default.

I would like to clarify that by analytics we are only talking about 1 ping per day that sends a hash that allows us to uniquely identify a user. The privacy of the users is kept. It just serves us to know if our work is being used.

Re: MeiliSearch: Zero-config alternative to Elasticsearch, made in Rust

#78
post #53

Looks pretty good. The single filter approach is restrictive though. We're currently leaning towards Manticore Search[1], which is a fork of Sphinx Search[2]. [1] https://manticoresearch.com [2] http://sphinxsearch.com

We are working on multi filters and faceting. https://github.com/meilisearch/MeiliSearch/issues/424 https://github.com/meilisearch/MeiliSearch/issues/425

Re: MeiliSearch: Zero-config alternative to Elasticsearch, made in Rust

#79
post #60
post #47

I'm impressed. I have a database with 15k documents, each with around 70 pages of text, HTML formatted. I'm using ElasticSearch currently, with the Searchkick gem. 30 min playing with MeiliSearch. So far: - Blazing fast to index, like 10x more performant than using ElasticSearch / Searchkick; - Blazing fast to search, at least 3x faster in all my random tests so far; - Literally zero config; - Uses 140MB of RAM curre…

You can add more nodes to scale search speed with ES, can you do the same with this?

That's marked for Q3: https://github.com/meilisearch/MeiliSearch/issues?q=is%3Aiss...

But probably 99% of users using ES don't need sharding.

Re: MeiliSearch: Zero-config alternative to Elasticsearch, made in Rust

#80
post #60

Earlier quoted context omitted.

You can add more nodes to scale search speed with ES, can you do the same with this?

That's marked for Q3: https://github.com/meilisearch/MeiliSearch/issues?q=is%3Aiss... But probably 99% of users using ES don't need sharding.

Yes, It's marked for Q3 because it's a pretty complex feature. And we had a lot of other features to do at the same time. But the good news is that it's very well advanced and is likely to be released in mid-Q2.
Post reply on HN