4 ms·
While I get the wants-and-needs since ElasticSearch has a voracious appetite for RAM, I get the feeling most people think search engines are a simple thing wher
by PedroBatista 4y ago
While I get the wants-and-needs since ElasticSearch has a voracious appetite for RAM, I get the feeling most people think search engines are a simple thing where you can just import some lib, fool around for a bit and call it a day.
The truth is that ElasticSearch/Solr/Lucene is orders of magnitude more complex and powerful than these "alternatives". All this is mostly fine as long everyone is on the same page regarding the expectations.
Most people don't need ElasticSearch for their use cases on the surface, but I feel they expect top-notch mind-reading results and that requires something like ElasticSearch and someone who knows the field.
Having said all of that, Meilisearch and this are quite fine.
- alessmar 4y agoI would like to suggest https://typesense.org/ https://typesense.org/ It has some features that makes it a better choice than Meilisearch
- paraboul 4y agoCan you elaborate on said features? I migrated from typesense to Meilisearch on a project after I found it had much better search accuracy. I can't exactly explain why, but overall Meilisearch results feel more relevant by default.
- jabo 4y agoI work on Typesense. Mind if I ask which version of Typesense and Meilisearch you tried this on? And if this was on some public dataset I can use? I’d love to take a closer look.
- paraboul 4y agoHey jabo, I migrated in April 2021 (latest version of typesense & meilisearch at that time). I don't have a public dataset has it was a fairly large ecommerce catalog with close to ~500k entries. And again, it was just my own perception which is hard to define. I just found that Typesense was a bit off compared to Meilisearch on search accuracy, and of course could totally be different today with a more recent release.
- jabo 4y agoGot it, thank you for sharing that. Typesense was at v0.19.0 around that time. Two prominent issues we had in that version were how we handled matches across multiple fields and how we handled "keyword stuffing". We're now at v0.24.rc, and we've iterated quite a lot on improving relevancy since then, as more users shared their datasets with us and gave us feedback over the last 1.5 years. If you get a chance to try out Typesense again in the future, I'd love to hear how relevance feels with the latest version, out of the box for your dataset.
- snikolaev 4y agoThere are actually benchmarks that allow measuring search relevancy objectively, e.g. BEIR[1]. Manticore Search team did an effort to make a PR to include it to the list. The results are here [2]. Unfortunately the BEIR team seems to be too busy to review a whole pile of PRs including about Vespa. Nevertheless it would be nice to have both Meilisearch and Typesense there too since it's interesting what performance those non-tf-idf based search engines would show compared to BM25-based and vector search engines. [1] https://github.com/beir-cellar/beir https://github.com/beir-cellar/beir [2] https://docs.google.com/spreadsheets/d/1_ZyYkPJ_K0st9FJBrjbZqX14nmCCPVlE_y3a_y5KkYI/edit#gid=0 https://docs.google.com/spreadsheets/d/1_ZyYkPJ_K0st9FJBrjbZ...
- keyle 4y agoYeah there needs to be some kind of acid test that will compare these products on equal footing and show the pitfalls.
- sanxiyn 4y agoThis is very very difficult, but Tantivy tried: see https://github.com/quickwit-oss/search-benchmark-game https://github.com/quickwit-oss/search-benchmark-game
- jasfi 4y agoThat would be great. However if you wanted to benchmark relevance ranking, how would you do that?
- sanxiyn 4y agoYou need a dataset and an evaluation metric. The usual evaluation metric is NDCG(Normalized Discounted Cumulative Gain): https://en.wikipedia.org/wiki/NDCG https://en.wikipedia.org/wiki/NDCG An example dataset is BEIR(BEnchmarking Information Retrieval), published in NIPS 2021: https://github.com/beir-cellar/beir https://github.com/beir-cellar/beir
- DeathArrow 4y agoHere is a performance benchmark: https://db-benchmarks.com/test-hn/#manticore-search-columnar-storage-vs-elasticsearch https://db-benchmarks.com/test-hn/#manticore-search-columnar...
- ilyt 4y agoThere is also the other important thing: the "search engine" in elasticsearch is just "searching the content of documents", not more. It won't show you which one is "best" (for a given value of "best"), just one that looks most similar to the input. Trying to index anything that can contain any trace of SEO would be doomed to failure, it also won't tell you which of the sites got linked the most, and million other things other web search engines do to give good results. In "just put a documents in DB and search them" it is barely enough to look thru corporate knowledge database and it still won't get nuances like "this page is linked from 20 other pages, maybe it should be higher?"
- Spivak 4y agoI think the upshot is that if you have no idea what all the advanced features of ES even are then you probably don't need ES because it's not turnkey. If you utter the phrase "I just want search" then it really is a matter of just using one of these lightweight projects and libs because your needs are simple.