pub struct PartitionedEFPostingList {
pub doc_ids: PartitionedEliasFano,
pub term_freqs: Vec<u8>,
pub tf_bits: u8,
pub max_tf: u32,
pub blocks: Vec<PEFBlockInfo>,
pub max_score: f32,
}Expand description
Partitioned Elias-Fano posting list with term frequencies and BlockMax
Fields§
§doc_ids: PartitionedEliasFanoDocument IDs (Partitioned Elias-Fano encoded)
term_freqs: Vec<u8>Term frequencies (packed)
tf_bits: u8Bits per term frequency
max_tf: u32Maximum term frequency
blocks: Vec<PEFBlockInfo>Block metadata for BlockMax WAND
max_score: f32Global maximum score
Implementations§
Source§impl PartitionedEFPostingList
impl PartitionedEFPostingList
pub fn compute_bm25_upper_bound(max_tf: u32, idf: f32) -> f32
Sourcepub fn from_postings(doc_ids: &[u32], term_freqs: &[u32]) -> Self
pub fn from_postings(doc_ids: &[u32], term_freqs: &[u32]) -> Self
Create from postings
Sourcepub fn from_postings_with_idf(
doc_ids: &[u32],
term_freqs: &[u32],
idf: f32,
) -> Self
pub fn from_postings_with_idf( doc_ids: &[u32], term_freqs: &[u32], idf: f32, ) -> Self
Create from postings with IDF for block-max scores
Sourcepub fn deserialize<R: Read>(reader: &mut R) -> Result<Self>
pub fn deserialize<R: Read>(reader: &mut R) -> Result<Self>
Deserialize
Sourcepub fn iterator(&self) -> PartitionedEFPostingIterator<'_>
pub fn iterator(&self) -> PartitionedEFPostingIterator<'_>
Create iterator
Sourcepub fn compression_info(&self) -> (usize, usize)
pub fn compression_info(&self) -> (usize, usize)
Get compression ratio compared to standard EF
Trait Implementations§
Source§impl Clone for PartitionedEFPostingList
impl Clone for PartitionedEFPostingList
Source§fn clone(&self) -> PartitionedEFPostingList
fn clone(&self) -> PartitionedEFPostingList
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for PartitionedEFPostingList
impl RefUnwindSafe for PartitionedEFPostingList
impl Send for PartitionedEFPostingList
impl Sync for PartitionedEFPostingList
impl Unpin for PartitionedEFPostingList
impl UnwindSafe for PartitionedEFPostingList
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more