2023-03-22 21:50:41 +08:00
|
|
|
// use big_s::S;
|
|
|
|
use heed::EnvOpenOptions;
|
|
|
|
// use maplit::hashset;
|
|
|
|
use milli::{
|
|
|
|
update::{IndexerConfig, Settings},
|
|
|
|
Criterion, Index,
|
|
|
|
};
|
|
|
|
|
|
|
|
fn main() {
|
|
|
|
let mut options = EnvOpenOptions::new();
|
|
|
|
options.map_size(100 * 1024 * 1024 * 1024); // 100 GB
|
|
|
|
|
2023-04-24 16:07:49 +08:00
|
|
|
let index = Index::new(options, "data_movies.ms").unwrap();
|
2023-03-22 21:50:41 +08:00
|
|
|
let mut wtxn = index.write_txn().unwrap();
|
|
|
|
|
|
|
|
let config = IndexerConfig::default();
|
|
|
|
let mut builder = Settings::new(&mut wtxn, &index, &config);
|
|
|
|
|
|
|
|
// builder.set_min_word_len_one_typo(5);
|
|
|
|
// builder.set_min_word_len_two_typos(7);
|
|
|
|
// builder.set_sortable_fields(hashset! { S("release_date") });
|
|
|
|
builder.set_criteria(vec![
|
|
|
|
Criterion::Words,
|
|
|
|
Criterion::Typo,
|
|
|
|
Criterion::Proximity,
|
2023-03-23 16:12:35 +08:00
|
|
|
Criterion::Attribute,
|
2023-04-30 05:26:22 +08:00
|
|
|
Criterion::Sort,
|
2023-03-23 16:12:35 +08:00
|
|
|
Criterion::Exactness,
|
2023-03-22 21:50:41 +08:00
|
|
|
]);
|
|
|
|
|
|
|
|
builder.execute(|_| (), || false).unwrap();
|
|
|
|
wtxn.commit().unwrap();
|
|
|
|
}
|