Live data from Hacker News

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

github.com

91–100 of 116 posts

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

#91
post #20

I know the project doesn't claim it, but the title somewhat implies this: I honestly don't understand people claiming ElasticSearch is hard to operate, especially not at small scales. If anything, ElasticSearch for me has been one of the easiest pieces of infrastructure to operate, for me pretty much "zero-config". Let me elaborate: You can run ElasticSearch via Docker command-line, if you want a cluster you just sup…

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…

Just been bitten by the plugin issue after an apt upgrade.

First time it happened for me and I was pretty angry at it

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

#92
post #84
post #20

I know the project doesn't claim it, but the title somewhat implies this: I honestly don't understand people claiming ElasticSearch is hard to operate, especially not at small scales. If anything, ElasticSearch for me has been one of the easiest pieces of infrastructure to operate, for me pretty much "zero-config". Let me elaborate: You can run ElasticSearch via Docker command-line, if you want a cluster you just sup…

We built a "Yelp for Colleges" product several years ago. The product needed a unified search where students could search for either a course or a college or a question from the forums with typeahead / autocomplete to get them to where they wanted to go quickly, with support for misspellings. In all there were about 50k documents, and we mostly cared about the title field. Elasticsearch would randomly bloat up to occ…

Neat.

I implemented the student facing course catalog web interface for a single org. One of the funnests (most fun) parts was the heuristics in the query parser. Like patterns for recognizing course numbers and boosting those exact match results. Really helps you appreciate all the fit & finish that goes into proper search engines.

This was the olden days, when we just used Lucene directly.

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

#93
post #70

Earlier quoted context omitted.

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

Vector is a log/event forwarding system. It moves data between sources and sinks with optional transforms. It doesn't store or search it.

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

#94
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?

Do you mean you want full-text search against logs? In that case they all work, you just have to ingest the logs as documents in each one.

Or try Seq which is a log-focused system: https://datalust.co/seq

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

#95
post #20

I know the project doesn't claim it, but the title somewhat implies this: I honestly don't understand people claiming ElasticSearch is hard to operate, especially not at small scales. If anything, ElasticSearch for me has been one of the easiest pieces of infrastructure to operate, for me pretty much "zero-config". Let me elaborate: You can run ElasticSearch via Docker command-line, if you want a cluster you just sup…

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…

My experience is roughly the same, unfortunately.

Personally I don't understand why there are so few search libraries/systems to choose from, given that "search" is one of the fundamental pillars of CS.

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

#96
post #71
post #65

Earlier quoted context omitted.

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

[deleted]

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

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

More accurately, 99% of the use cases ES is appropriate for don't need sharding. Every time I've needed to shard ES has been a nightmare bad enough that ES was abandoned.

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

#98
post #81

Earlier quoted context omitted.

I was thinking it might be nice to be able to have an HMACed token with an expiry as an option - so e.g. my main http-serving thing could provide one of those to allow the frontend to read for a bit but kick the user off after half an hour or whatever if the token isn't refreshed. I've no issue with offloading SSL to a different process though, I tend to prefer doing that anyway a lot of the time.

I understand what you mean but is it for a specific usage of a search engine? I was thinking that this kind of time-restricted tokens could also be managed by the nginx instance, our engine doesn't support that for the time being.

I can make the nginx instance do that.

Was just thinking for "simplest possible deployment" it would be nice to be able to have clients hit the meili instance basically directly to take maximum advantage of the speed.

Note that I'm not saying "this should be priority 1" or anything, I'm already thinking about how to configure nginx to handle the hmac crap if I try meili out :)

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

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

Just to add a little note here, we are currently working on the functionality of multi-filter queries, because we are aware of our community!

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

#100
Does anyone know if this supports bulk indexing? My team has a lot of data in S3 in parquet format. (We could change the format to something else if that helps).

It would be really nice to be able to point tools like MeilliSearch or ElasticSearch to a data location and have it index all the data without me writing code to send individual records to the API.

Post reply on HN