MeiliSearch/milli/src
bors[bot] 5e754b3ee0
Merge #708
708: Reduce memory usage of the MatchingWords structure r=ManyTheFish a=loiclec

# Pull Request

## Related issue
Fixes (partially) https://github.com/meilisearch/meilisearch/issues/3115 

## What does this PR do?
1. Reduces the memory usage caused by the creation of a 10-word query tree by 20x. 
   This is done by deduplicating the `MatchingWord` values, which are heavy because of their inner DFA. The deduplication works by wrapping each `MatchingWord` in a reference-counted box and using a hash map to determine whether a  `MatchingWord` DFA already exists for a certain signature, or whether a new one needs to be built.
 
2. Avoid the worst-case scenario of creating a `MatchingWord` for extremely long words that cannot be indexed by milli.

Co-authored-by: Loïc Lecrenier <loic.lecrenier@me.com>
2022-11-30 17:47:34 +00:00
..
documents Fixes for clippy bringing us down to 18 remaining issues. 2022-10-25 20:49:02 +02:00
facet format the whole project 2021-06-16 18:33:33 +02:00
heed_codec Merge #659 2022-11-03 15:24:38 +00:00
search Don't create partial matching words for synonyms in ngrams 2022-11-28 16:32:28 +01:00
snapshots/index.rs/initial_field_distribution Refactor snapshot tests 2022-08-10 15:53:46 +02:00
update Merge #708 2022-11-30 17:47:34 +00:00
asc_desc.rs Fixes for clippy bringing us down to 18 remaining issues. 2022-10-25 20:49:02 +02:00
criterion.rs Improves ranking rules error message 2022-05-20 21:25:43 +02:00
error.rs Introduce an indexation abortion function when indexing documents 2022-10-17 17:28:03 +02:00
external_documents_ids.rs Fasten the document deletion 2022-07-05 15:30:33 +02:00
fields_ids_map.rs Fixes for clippy bringing us down to 18 remaining issues. 2022-10-25 20:49:02 +02:00
index.rs Execute cargo clippy --fix 2022-10-27 01:00:00 +09:00
lib.rs Merge #708 2022-11-30 17:47:34 +00:00
proximity.rs Remove limit of 1000 position per attribute 2021-10-12 10:10:50 +02:00
snapshot_tests.rs Fix cargo clippy errors 2022-10-27 01:04:23 +09:00