Live data from Hacker News

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

github.com

51–60 of 116 posts

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

#51
Mostly "made in Rust", but from the github readme[0] "MeiliSearch uses LMDB as the internal key-value store. The key-value store allows us to handle updates and queries with small memory and CPU overheads."; so a lot of the credit goes to LMDB, and safety implied by "made in Rust" is not, in fact, guaranteed.

Not that I'm complaining - I love LMDB, and it's been rock solid and bug free in my experience (thanks, Howard!) - but it's low level C, not rust, and if you expect the certainty that Rust provides w.r.t to security, race conditions and leaks, be aware that you are not completely getting it.

But other than that: Thanks! This looks like a great project!

[0] https://github.com/meilisearch/MeiliSearch#how-it-works

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

#52
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...

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

#55
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…

If you are looking for alternatives, check out Typesense as well:

https://github.com/typesense/typesense

It supports multiple filters and has HA for reads as well.

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

#56
post #51

Mostly "made in Rust", but from the github readme[0] "MeiliSearch uses LMDB as the internal key-value store. The key-value store allows us to handle updates and queries with small memory and CPU overheads."; so a lot of the credit goes to LMDB, and safety implied by "made in Rust" is not, in fact, guaranteed. Not that I'm complaining - I love LMDB, and it's been rock solid and bug free in my experience (thanks, Howar…

True, but there are significant components in pure Rust, such as `fst` (full disclaimer, I wrote it). Which is written in purely safe Rust.

> and safety implied by "made in Rust" is not, in fact, guaranteed

Just about every Rust program depends on some C code, usually at least in the form of a libc. So you could lodge this criticism against almost every Rust project.

> and if you expect the certainty that Rust provides w.r.t to security, race conditions and leaks

Rust's safety story covers neither race conditions nor leaks.

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

#57
post #51

Mostly "made in Rust", but from the github readme[0] "MeiliSearch uses LMDB as the internal key-value store. The key-value store allows us to handle updates and queries with small memory and CPU overheads."; so a lot of the credit goes to LMDB, and safety implied by "made in Rust" is not, in fact, guaranteed. Not that I'm complaining - I love LMDB, and it's been rock solid and bug free in my experience (thanks, Howar…

True, but there are significant components in pure Rust, such as `fst` (full disclaimer, I wrote it). Which is written in purely safe Rust. > and safety implied by "made in Rust" is not, in fact, guaranteed Just about every Rust program depends on some C code, usually at least in the form of a libc. So you could lodge this criticism against almost every Rust project. > and if you expect the certainty that Rust provid…

> Rust's safety story covers neither race conditions nor leaks.

It covers a type of race condition, namely unsynchronized concurrent access to memory.

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

#58
post #57

Earlier quoted context omitted.

True, but there are significant components in pure Rust, such as `fst` (full disclaimer, I wrote it). Which is written in purely safe Rust. > and safety implied by "made in Rust" is not, in fact, guaranteed Just about every Rust program depends on some C code, usually at least in the form of a libc. So you could lodge this criticism against almost every Rust project. > and if you expect the certainty that Rust provid…

> Rust's safety story covers neither race conditions nor leaks. It covers a type of race condition, namely unsynchronized concurrent access to memory.

Data races and race conditions are orthogonal, according to some: https://blog.regehr.org/archives/490

I think you've disagreed with this in the past, and I don't know how to resolve that. But certainly, I think we can agree that saying that Rust's safety story prevents race conditions is, at minimum, very imprecise.

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

#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?
Post reply on HN