pub struct SegmentHeader {
pub segment_id: SegmentId,
pub doc_count: u32,
pub max_doc: u32,
pub components: Vec<ComponentOffset>,
pub fields: Vec<FieldMeta>,
pub parent_bitset: Option<Vec<bool>>,
}Expand description
The segment header: fixed fields + component offsets + field metadata.
Fields§
§segment_id: SegmentId§doc_count: u32§max_doc: u32§components: Vec<ComponentOffset>§fields: Vec<FieldMeta>§parent_bitset: Option<Vec<bool>>Parent bitset: if present, indicates which doc IDs are parent docs (vs nested hidden docs). One byte per doc (0=nested, 1=parent).
Implementations§
Source§impl SegmentHeader
impl SegmentHeader
Sourcepub fn to_bytes(&self) -> Vec<u8> ⓘ
pub fn to_bytes(&self) -> Vec<u8> ⓘ
Serialize the header to bytes (including magic and checksum).
Sourcepub fn from_bytes(data: &[u8]) -> Result<(Self, usize)>
pub fn from_bytes(data: &[u8]) -> Result<(Self, usize)>
Deserialize a header from the beginning of a segment byte slice. Returns (header, bytes_consumed).
Sourcepub fn component(&self, ct: ComponentType) -> Option<&ComponentOffset>
pub fn component(&self, ct: ComponentType) -> Option<&ComponentOffset>
Find a component by type.
Trait Implementations§
Source§impl Clone for SegmentHeader
impl Clone for SegmentHeader
Source§fn clone(&self) -> SegmentHeader
fn clone(&self) -> SegmentHeader
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 SegmentHeader
impl RefUnwindSafe for SegmentHeader
impl Send for SegmentHeader
impl Sync for SegmentHeader
impl Unpin for SegmentHeader
impl UnsafeUnpin for SegmentHeader
impl UnwindSafe for SegmentHeader
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