This repository is the central reference for developing and maintaining the engine team repositories.
Meilisearch | Documentation | Discord | Website | Blog | LinkedIn | Twitter | FAQ
The engine team owns all the following repositories:
Main ones used to build Meilisearch:
- Meilisearch: the main Engine team repository containing the search engine.
- Charabia: the tokenizer used by the search engine (in Meilisearch and in Milli).
- Grenad: tools to sort, merge, write, and read immutable key-value pairs.
- Heed: a fully typed LMDB/MDBX wrapper with minimum overhead, uses bytemuck internally.
- lmdb-rs: a fork of mozilla/lmdb-rs.
- lmdb: a fork of LMDB/lmdb.
- Segment: an unofficial segment analytics client for Rust used by Meilisearch.
- Deserr: a crate for deserializing data, with the ability to return custom, type-specific errors upon failure
- Arroy: search for vectors in space that are close to a given query vector, with the interface of Annoy.
- Obkv: a micro key-value store where the key is always one byte.
- Bumparaw-collections: Collections backed by
bumpalo
andserde_json::value::RawValue
- Bbqueue: A SPSC, lockless, no_std, thread safe, queue, based on BipBuffers
For testing:
- cargo-flaky: cargo extension to help you find flaky tests in you test suite. Used in the Meilisearch CI every week.
- Yaup: a fork of
serde_url_params
forGET /search
tests.
Misc:
- Bench board: benchmark dashboard that displays results of benchmark runs and allow to compare results across commits and workloads.
- external-benchmarks (private only): benchmarks applied on concrete usecase to measure the impact of the engine team.
- Madness: library for mDNS service discovery and advertisement. Not used by Meilisearch currently.
- segseg: a POC of a segment based search engine
- Mainspector: same as Devspector but on the
main
branch. Visit this website. - Strois: an S3 synchronous SDK based on rusty_s3 and ureq.
- Open API: a repository containing the OpenAPI file related to Meilisearch API.
- Meilisearch importer: a tool to easily import millions of documents into Meilisearch.
- vector-store-relevancy-benchmark: to test the relevancy of the hybrid search.
- Alberto: A program that displays the size of the documents in a Meilisearch database.
Archived repositories:
- Milli: the new search engine in development.
- Jayson: heavily modified version of miniserde, with only the deserialization part.
- Transplant: the temporary repository that integrates Milli as search engine. The final goal of Transplant code base is to be integrated into the MeiliSearch repository and will correspond to the v0.21.0 release.
- Raft work that has been archived
- Meilipod (private only)
- Raft (private only)
- raft-metrics (private only)
- Nelson: small mocking library for Rust. Used in the past in the Meilisearch test suite.
- meili-aoc (internal): Advent of Code repository
- Devspector: website using Meilisearch to search into the specification repository, on the
develop
branch. Visit this website.