Fix setup_search_index_with_criteria

This commit is contained in:
Louis Dureuil 2024-11-19 16:49:00 +01:00
parent e11e45348e
commit 094d922810
No known key found for this signature in database
2 changed files with 10 additions and 4 deletions

View File

@ -46,8 +46,8 @@ pub fn setup_search_index_with_criteria(criteria: &[Criterion]) -> Index {
// index documents // index documents
let config = IndexerConfig { max_memory: Some(10 * 1024 * 1024), ..Default::default() }; let config = IndexerConfig { max_memory: Some(10 * 1024 * 1024), ..Default::default() };
let mut wtxn = index.write_txn().unwrap();
let rtxn = index.read_txn().unwrap(); let rtxn = index.read_txn().unwrap();
let mut wtxn = index.write_txn().unwrap();
let db_fields_ids_map = index.fields_ids_map(&rtxn).unwrap(); let db_fields_ids_map = index.fields_ids_map(&rtxn).unwrap();
let mut new_fields_ids_map = db_fields_ids_map.clone(); let mut new_fields_ids_map = db_fields_ids_map.clone();

View File

@ -36,7 +36,6 @@ pub fn setup_search_index_with_criteria(criteria: &[Criterion]) -> Index {
let index = Index::new(options, &path).unwrap(); let index = Index::new(options, &path).unwrap();
let mut wtxn = index.write_txn().unwrap(); let mut wtxn = index.write_txn().unwrap();
let rtxn = index.read_txn().unwrap();
let config = IndexerConfig::default(); let config = IndexerConfig::default();
let mut builder = Settings::new(&mut wtxn, &index, &config); let mut builder = Settings::new(&mut wtxn, &index, &config);
@ -61,9 +60,13 @@ pub fn setup_search_index_with_criteria(criteria: &[Criterion]) -> Index {
}); });
builder.set_searchable_fields(vec![S("title"), S("description")]); builder.set_searchable_fields(vec![S("title"), S("description")]);
builder.execute(|_| (), || false).unwrap(); builder.execute(|_| (), || false).unwrap();
wtxn.commit().unwrap();
// index documents // index documents
let config = IndexerConfig { max_memory: Some(10 * 1024 * 1024), ..Default::default() }; let config = IndexerConfig { max_memory: Some(10 * 1024 * 1024), ..Default::default() };
let rtxn = index.read_txn().unwrap();
let mut wtxn = index.write_txn().unwrap();
let db_fields_ids_map = index.fields_ids_map(&rtxn).unwrap(); let db_fields_ids_map = index.fields_ids_map(&rtxn).unwrap();
let mut new_fields_ids_map = db_fields_ids_map.clone(); let mut new_fields_ids_map = db_fields_ids_map.clone();
@ -73,16 +76,19 @@ pub fn setup_search_index_with_criteria(criteria: &[Criterion]) -> Index {
let mut file = tempfile::tempfile().unwrap(); let mut file = tempfile::tempfile().unwrap();
file.write_all(CONTENT.as_bytes()).unwrap(); file.write_all(CONTENT.as_bytes()).unwrap();
file.sync_all().unwrap(); file.sync_all().unwrap();
let payload = unsafe { memmap2::Mmap::map(&file).unwrap() }; let payload = unsafe { memmap2::Mmap::map(&file).unwrap() };
// index documents // index documents
indexer.add_documents(&payload).unwrap(); indexer.add_documents(&payload).unwrap();
let indexer_alloc = Bump::new(); let indexer_alloc = Bump::new();
let (document_changes, _operation_stats, primary_key) = let (document_changes, operation_stats, primary_key) =
indexer.into_changes(&indexer_alloc, &index, &rtxn, None, &mut new_fields_ids_map).unwrap(); indexer.into_changes(&indexer_alloc, &index, &rtxn, None, &mut new_fields_ids_map).unwrap();
if let Some(error) = operation_stats.into_iter().find_map(|stat| stat.error) {
panic!("{error}");
}
indexer::index( indexer::index(
&mut wtxn, &mut wtxn,
&index, &index,