meilisearch/crates
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
..
benchmarks Fix progress of into_changes 2024-11-20 15:10:09 +01:00
build-info Move crates under a sub folder to clean up the code 2024-10-21 08:18:43 +02:00
dump fix the dump test -> the only change is that we now have a null batch_uid in all the tasks 2024-11-20 10:51:06 +01:00
file-store Move crates under a sub folder to clean up the code 2024-10-21 08:18:43 +02:00
filter-parser Move crates under a sub folder to clean up the code 2024-10-21 08:18:43 +02:00
flatten-serde-json Move crates under a sub folder to clean up the code 2024-10-21 08:18:43 +02:00
fuzzers Fix progress of into_changes 2024-11-20 15:10:09 +01:00
index-scheduler Merge #4900 2024-11-21 16:19:10 +00:00
json-depth-checker Move crates under a sub folder to clean up the code 2024-10-21 08:18:43 +02:00
meili-snap Add comment explaining why we fixed the version of insta 2024-11-21 16:56:56 +01:00
meilisearch Merge #4900 2024-11-21 16:19:10 +00:00
meilisearch-auth Move crates under a sub folder to clean up the code 2024-10-21 08:18:43 +02:00
meilisearch-types Remove TopLevelMap 2024-11-21 16:56:46 +01:00
meilitool Merge branch 'main' into indexer-edition-2024 2024-11-20 16:59:58 +01:00
milli Add span on document operation 2024-11-21 17:01:10 +01:00
permissive-json-pointer Add indices field to _matchesPosition to specify where in an array a match comes from (#5005) 2024-11-20 01:00:43 +01:00
tracing-trace Remove orphan span 2024-11-21 12:12:07 +01:00
xtask Move crates under a sub folder to clean up the code 2024-10-21 08:18:43 +02:00