logo
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

Creates a new IntFastFieldWriter

The memory used (inclusive childs)

Returns the field that this writer is targetting.

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)

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.

Push the fast fields value to the FastFieldWriter.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

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

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

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s. Read more

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

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The alignment of pointer.

The type for initializers.

Initializes a with the given initializer. Read more

Dereferences the given pointer. Read more

Mutably dereferences the given pointer. Read more

Drops the object pointed to by the given pointer. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.