pub struct PositionStream { /* private fields */ }Expand description
Zero-copy reader of one term’s position stream.
Implementations§
Source§impl PositionStream
impl PositionStream
pub fn open(bytes: OwnedBytes) -> Result<Self>
pub fn total_positions(&self) -> u64
pub fn num_blocks(&self) -> usize
Sourcepub fn decode_block(&self, idx: usize, out: &mut Vec<u32>) -> bool
pub fn decode_block(&self, idx: usize, out: &mut Vec<u32>) -> bool
Decode block idx (raw delta values) into out.
Sourcepub fn read_into(
&self,
cursor: u64,
tf: u32,
scratch: &mut Vec<u32>,
out: &mut Vec<u32>,
) -> bool
pub fn read_into( &self, cursor: u64, tf: u32, scratch: &mut Vec<u32>, out: &mut Vec<u32>, ) -> bool
Positions of one document: the tf values starting at cursor,
delta-decoded into absolute positions. scratch reuses allocation.
Not for the query path: every call builds a fresh block cache, so
consecutive documents in the same block are decoded again each time.
Query iterators bind a TermPositionCursor (via
TermPositions::into_cursor) which keeps the last decoded block.
Trait Implementations§
Source§impl Clone for PositionStream
impl Clone for PositionStream
Auto Trait Implementations§
impl Freeze for PositionStream
impl RefUnwindSafe for PositionStream
impl Send for PositionStream
impl Sync for PositionStream
impl Unpin for PositionStream
impl UnsafeUnpin for PositionStream
impl UnwindSafe for PositionStream
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> DropFlavorWrapper<T> for T
impl<T> DropFlavorWrapper<T> for T
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
Source§impl<T> Identity for Twhere
T: ?Sized,
impl<T> Identity for Twhere
T: ?Sized,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
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