Use OnceCell to cache levenshtein builders

This commit is contained in:
Kerollmops
2020-05-31 18:21:24 +02:00
parent dde3e01a59
commit dff68a339a
4 changed files with 18 additions and 14 deletions

View File

@ -190,9 +190,11 @@ fn index_csv(mut rdr: csv::Reader<File>) -> anyhow::Result<MtblKvStore> {
.or_insert_with(RoaringBitmap::new)
.insert(document_id);
if let Some(prefix) = word.as_bytes().get(0..word.len().min(4)) {
prefix_postings_ids.entry(SmallVec32::from(prefix))
.or_insert_with(RoaringBitmap::new)
.insert(document_id);
for i in 0..prefix.len() {
prefix_postings_ids.entry(SmallVec32::from(&prefix[..i]))
.or_insert_with(RoaringBitmap::new)
.insert(document_id);
}
}
}
}