Struct tantivy::store::StoreReader
source · pub struct StoreReader { /* private fields */ }
Expand description
Reads document off tantivy’s Store
Implementations§
source§impl StoreReader
impl StoreReader
sourcepub fn open(
store_file: FileSlice,
cache_num_blocks: usize
) -> Result<StoreReader>
pub fn open( store_file: FileSlice, cache_num_blocks: usize ) -> Result<StoreReader>
Opens a store reader
cache_num_blocks
sets the number of decompressed blocks to be cached in an LRU.
The size of blocks is configurable, this should be reflexted in the
sourcepub fn get<D: DocumentDeserialize>(&self, doc_id: DocId) -> Result<D>
pub fn get<D: DocumentDeserialize>(&self, doc_id: DocId) -> Result<D>
Reads a given document.
Calling .get(doc)
is relatively costly as it requires
decompressing a compressed block. The store utilizes a LRU cache,
so accessing docs from the same compressed block should be faster.
For that reason a store reader should be kept and reused.
It should not be called to score documents for instance.
sourcepub fn get_document_bytes(&self, doc_id: DocId) -> Result<OwnedBytes>
pub fn get_document_bytes(&self, doc_id: DocId) -> Result<OwnedBytes>
Returns raw bytes of a given document.
Calling .get(doc)
is relatively costly as it requires
decompressing a compressed block. The store utilizes a LRU cache,
so accessing docs from the same compressed block should be faster.
For that reason a store reader should be kept and reused.
sourcepub fn iter<'a: 'b, 'b, D: Document + DocumentDeserialize>(
&'b self,
alive_bitset: Option<&'a AliveBitSet>
) -> impl Iterator<Item = Result<D>> + 'b
pub fn iter<'a: 'b, 'b, D: Document + DocumentDeserialize>( &'b self, alive_bitset: Option<&'a AliveBitSet> ) -> impl Iterator<Item = Result<D>> + 'b
Iterator over all Documents in their order as they are stored in the doc store.
Use this, if you want to extract all Documents from the doc store.
The alive_bitset
has to be forwarded from the SegmentReader
or the results may be wrong.
sourcepub fn space_usage(&self) -> StoreSpaceUsage
pub fn space_usage(&self) -> StoreSpaceUsage
Summarize total space usage of this store reader.
Auto Trait Implementations§
impl !Freeze for StoreReader
impl !RefUnwindSafe for StoreReader
impl Send for StoreReader
impl Sync for StoreReader
impl Unpin for StoreReader
impl !UnwindSafe for StoreReader
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.