Struct tantivy::fastfield::IntFastFieldWriter
source · [−]pub struct IntFastFieldWriter { /* private fields */ }
Expand description
Fast field writer for ints. The fast field writer just keeps the values in memory.
Only when the segment writer can be closed and
persisted on disc, the fast field writer is
sent to a FastFieldSerializer
via the .serialize(...)
method.
We cannot serialize earlier as the values are bitpacked and the number of bits required for bitpacking can only been known once we have seen all of the values.
Both u64, i64 and f64 use the same writer.
i64 and f64 are just remapped to the 0..2^64 - 1
using common::i64_to_u64
and common::f64_to_u64
.
Implementations
sourceimpl IntFastFieldWriter
impl IntFastFieldWriter
sourcepub fn new(field: Field) -> IntFastFieldWriter
pub fn new(field: Field) -> IntFastFieldWriter
Creates a new IntFastFieldWriter
sourcepub fn add_val(&mut self, val: u64)
pub fn add_val(&mut self, val: u64)
Records a new value.
The n-th value being recorded is implicitely
associated to the document with the DocId
n.
(Well, n-1
actually because of 0-indexing)
sourcepub fn add_document(&mut self, doc: &Document)
pub fn add_document(&mut self, doc: &Document)
Extract the fast field value from the document (or use the default value) and records it.
Extract the value associated to the fast field for this document.
i64 and f64 are remapped to u64 using the logic
in common::i64_to_u64
and common::f64_to_u64
.
If the value is missing, then the default value is used instead. If the document has more than one value for the given field, only the first one is taken in account.
Values on text fast fields are skipped.
Auto Trait Implementations
impl RefUnwindSafe for IntFastFieldWriter
impl Send for IntFastFieldWriter
impl Sync for IntFastFieldWriter
impl Unpin for IntFastFieldWriter
impl UnwindSafe for IntFastFieldWriter
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
sourcefn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
Convert 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
. Read more
sourcefn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more
sourcefn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert &Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read more
sourcefn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert &mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read more