pub struct HorizontalBP128Block {
pub doc_deltas: Vec<u8>,
pub doc_bit_width: u8,
pub term_freqs: Vec<u8>,
pub tf_bit_width: u8,
pub first_doc_id: u32,
pub last_doc_id: u32,
pub num_docs: u16,
pub max_tf: u32,
pub max_block_score: f32,
}Expand description
Bitpacked block with skip info for BlockWAND
Fields§
§doc_deltas: Vec<u8>Delta-encoded doc_ids (bitpacked)
doc_bit_width: u8Bit width for doc deltas
term_freqs: Vec<u8>Term frequencies (bitpacked)
tf_bit_width: u8Bit width for term frequencies
first_doc_id: u32First doc_id in this block (absolute)
last_doc_id: u32Last doc_id in this block (absolute)
num_docs: u16Number of docs in this block
max_tf: u32Maximum term frequency in this block (for BM25F upper bound calculation)
max_block_score: f32Maximum impact score in this block (for MaxScore/WAND) This is computed using BM25F with conservative length normalization
Implementations§
Source§impl HorizontalBP128Block
impl HorizontalBP128Block
Sourcepub fn deserialize<R: Read>(reader: &mut R) -> Result<Self>
pub fn deserialize<R: Read>(reader: &mut R) -> Result<Self>
Deserialize a block
Sourcepub fn decode_doc_ids(&self) -> Vec<u32>
pub fn decode_doc_ids(&self) -> Vec<u32>
Decode doc_ids from this block
Sourcepub fn decode_doc_ids_into(&self, output: &mut [u32]) -> usize
pub fn decode_doc_ids_into(&self, output: &mut [u32]) -> usize
Decode doc_ids into a pre-allocated buffer (avoids allocation)
Sourcepub fn decode_term_freqs(&self) -> Vec<u32>
pub fn decode_term_freqs(&self) -> Vec<u32>
Decode term frequencies from this block
Sourcepub fn decode_term_freqs_into(&self, output: &mut [u32]) -> usize
pub fn decode_term_freqs_into(&self, output: &mut [u32]) -> usize
Decode term frequencies into a pre-allocated buffer (avoids allocation)
Trait Implementations§
Source§impl Clone for HorizontalBP128Block
impl Clone for HorizontalBP128Block
Source§fn clone(&self) -> HorizontalBP128Block
fn clone(&self) -> HorizontalBP128Block
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 HorizontalBP128Block
impl RefUnwindSafe for HorizontalBP128Block
impl Send for HorizontalBP128Block
impl Sync for HorizontalBP128Block
impl Unpin for HorizontalBP128Block
impl UnwindSafe for HorizontalBP128Block
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