From 8044ec38da8b13f3ed79b64ddc34f129601041ee Mon Sep 17 00:00:00 2001 From: Pascal Seitz Date: Thu, 1 Jul 2021 10:15:42 +0200 Subject: [PATCH] test docstore in proptest --- src/indexer/index_writer.rs | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/indexer/index_writer.rs b/src/indexer/index_writer.rs index e201bffe5..a2bdd6bf9 100644 --- a/src/indexer/index_writer.rs +++ b/src/indexer/index_writer.rs @@ -797,6 +797,7 @@ mod tests { use crate::query::TermQuery; use crate::schema::Cardinality; use crate::schema::IntOptions; + use crate::schema::STORED; use crate::schema::{self, IndexRecordOption, FAST, INDEXED, STRING}; use crate::Index; use crate::ReloadPolicy; @@ -1376,10 +1377,10 @@ mod tests { force_merge: bool, ) -> crate::Result<()> { let mut schema_builder = schema::Schema::builder(); - let id_field = schema_builder.add_u64_field("id", FAST | INDEXED); + let id_field = schema_builder.add_u64_field("id", FAST | INDEXED | STORED); let multi_numbers = schema_builder.add_u64_field( "multi_numbers", - IntOptions::default().set_fast(Cardinality::MultiValues), + IntOptions::default().set_fast(Cardinality::MultiValues).set_stored(), ); let schema = schema_builder.build(); let settings = if sort_index { @@ -1450,6 +1451,19 @@ mod tests { } } + for segment_reader in searcher.segment_readers().iter() { + let store_reader = segment_reader.get_store_reader().unwrap(); + for doc in store_reader.iter(segment_reader.delete_bitset()) { + let id = doc.unwrap().get_first(id_field).unwrap().u64_value().unwrap(); + assert!(expected_ids.contains(&id)); + } + for doc_id in segment_reader.doc_ids_alive() { + let id = store_reader.get(doc_id).unwrap().get_first(id_field).unwrap().u64_value().unwrap(); + assert!(expected_ids.contains(&id)); + let id2 = store_reader.get(doc_id).unwrap().get_first(multi_numbers).unwrap().u64_value().unwrap(); + assert_eq!(id, id2); + } + } Ok(()) }