MeiliSearch/crates/index-scheduler/src
meili-bors[bot] 19e6f675b3
Merge #4900
4900: Indexer edition 2024 r=Kerollmops a=dureuill

This PR is implementing the indexer edition 2024, largely inspired by [the ideas from this blog post](https://blog.kerollmops.com/meilisearch-is-too-slow).

Fixes https://github.com/meilisearch/meilisearch/issues/4985

## Features
- Stream-first approach to reading documents.
- Minimum disk write operations.
- RAM usage-first approach to avoid modifying common bitmaps on disk but in memory.
- Reduced LMDB fragmentation by writing entries only once...
- ...computing the final version of the entries in parallel...
- ...and storing them in write-optimized data structures before sending them to the BTree (LMDB).
- Indexing in multiple transactions to improve large dataset support (dumps).


Co-authored-by: ManyTheFish <many@meilisearch.com>
Co-authored-by: Clément Renault <clement@meilisearch.com>
Co-authored-by: Louis Dureuil <louis@meilisearch.com>
2024-11-21 16:19:10 +00:00
..
index_mapper Move crates under a sub folder to clean up the code 2024-10-21 08:18:43 +02:00
snapshots Merge #4900 2024-11-21 16:19:10 +00:00
autobatcher.rs Move crates under a sub folder to clean up the code 2024-10-21 08:18:43 +02:00
batch.rs Slight changes 2024-11-21 16:47:44 +01:00
error.rs improve the way we access the mutex 2024-11-20 10:51:06 +01:00
features.rs Move crates under a sub folder to clean up the code 2024-10-21 08:18:43 +02:00
insta_snapshot.rs makes clippy happy 2024-11-20 17:40:58 +01:00
lib.rs First batch of PR comment 2024-11-21 16:38:11 +01:00
lru.rs Move crates under a sub folder to clean up the code 2024-10-21 08:18:43 +02:00
utils.rs improve the count of the number of tasks in a batch 2024-11-20 17:48:26 +01:00
uuid_codec.rs Move crates under a sub folder to clean up the code 2024-10-21 08:18:43 +02:00