milli-py
beir
milli-py | beir | |
---|---|---|
2 | 8 | |
120 | 1,388 | |
- | 4.0% | |
1.1 | 4.2 | |
about 1 year ago | about 2 months ago | |
Rust | Python | |
MIT License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
milli-py
- Milli-py: Python bindings for Milli, an embeddable high-performance search engine
-
Manticore 6.0.0 – a faster alternative to Elasticsearch in C++
Related: Meilisearch v1.0.0 released two days ago: https://news.ycombinator.com/item?id=34707727
I've been following these two libraries (Manticore and Meilisearch) very closely. Their simplicity, portability and performance gains over Elasticsearch are impressive.
Since two days ago, I am creating Python bindings for the core search engine of each of these two libraries, starting with https://github.com/AlexAltea/milli-py. Getting extreme performance, but as an embedded/self-contained packed (akin to SQLite).
beir
-
On building a semantic search engine
The BEIR project might be what you're looking for: https://github.com/beir-cellar/beir/wiki/Leaderboard
- BEIR: A Heterogeneous Benchmark for Information Retrieval
-
Benefits of hybrid search
Custom datasets can also be evaluated using this method as specified in this link. This article and the associated benchmarks script can be reused to evaluate what method works best on your data.
-
Meilisearch vs. Elasticsearch
> Meilisearch focuses on simplicity, relevancy, and performance.
> excellent relevance out of the box
> if ease of use, performance, and relevancy are important to you, Meilisearch was made for you
Is there a benchmark that shows Meilisearch outperforming Elasticsearch in terms of relevance score? I couldn't find Meilisearch listed on https://github.com/beir-cellar/beir.
- Manticore 6.0.0 – a faster alternative to Elasticsearch in C++
-
An alternative to Elasticsearch that runs on a few MBs of RAM
There 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
-
Manticore Search: Elasticsearch Alternative
True! Here's a pull request to BEIR to compare Manticore with Elasticsearch in terms of relevance https://github.com/beir-cellar/beir/pull/92. Spoiler: in this test Manticore provides better relevance than Elasticsearch in average. Of course you can tune both further and Elasticsearch now has KNN which when combined with BM25 can give even better relevance. In general I would say for most users the results quality in terms of full-text relevance is about the same in Elasticseach and Manticore.
-
Manticore: a faster alternative to Elasticsearch in C++ with a 21-year history
But there's for example BEIR that compared BM25 vs state of the art ML language models and it turned out BM25 is in average better than all of them unless you rerank top 100 results from Elasticsearch using the language models. With Manticore you can get even better relevance than with Elasticsearch. We made a pull-request to BEIR to demonstrate that https://docs.google.com/spreadsheets/d/1_ZyYkPJ_K0st9FJBrjbZqX14nmCCPVlE_y3a_y5KkYI/edit#gid=0
What are some alternatives?
whoosh - Pure-Python full-text search library
columnar - Manticore Columnar Library
hub
manticoresearch - Easy to use open source fast database for search | Good alternative to Elasticsearch now | Drop-in replacement for E in the ELK soon
ui - https://db-benchmarks.com website
sonic - 🦔 Fast, lightweight & schema-less search backend. An alternative to Elasticsearch that runs on a few MBs of RAM.
tape - Tasks Assessing Protein Embeddings (TAPE), a set of five biologically relevant semi-supervised learning tasks spread across different domains of protein biology.
db-benchmarks - Fair database benchmarks framework and datasets
Python-Schema-Matching - A python tool using XGboost and sentence-transformers to perform schema matching task on tables.
nalcos - Search Git commits in natural language
zincsearch - ZincSearch . A lightweight alternative to elasticsearch that requires minimal resources, written in Go.
Typesense - Open Source alternative to Algolia + Pinecone and an Easier-to-Use alternative to ElasticSearch ⚡ 🔍 ✨ Fast, typo tolerant, in-memory fuzzy Search Engine for building delightful search experiences