[][src]Struct tantivy::fastfield::MultiValueIntFastFieldWriter

pub struct MultiValueIntFastFieldWriter { /* fields omitted */ }

Writer for multi-valued (as in, more than one value per document) int fast field.

This Writer is only useful for advanced user. The normal way to get your multivalued int in your index is to

  • declare your field with fast set to Cardinality::MultiValues in your schema
  • add your document simply by calling .add_document(...).

The MultiValueIntFastFieldWriter can be acquired from the fastfield writer, by calling .get_multivalue_writer(...).

Once acquired, writing is done by calling calls to .add_document_vals(&[u64]) once per document.

The serializer makes it possible to remap all of the values that were pushed to the writer using a mapping. This makes it possible to push unordered term ids, during indexing and remap them to their respective term ids when the segment is getting serialized.

Methods

impl MultiValueIntFastFieldWriter[src]

pub fn field(&self) -> Field[src]

Access the field associated to the MultiValueIntFastFieldWriter

pub fn add_document(&mut self, doc: &Document)[src]

Shift to the next document and adds all of the matching field values present in the document.

pub fn add_document_vals(&mut self, vals: &[u64]) -> DocId[src]

Register all of the values associated to a document.

The method returns the DocId of the document that was just written.

pub fn serialize(
    &self,
    serializer: &mut FastFieldSerializer,
    mapping_opt: Option<&HashMap<u64, TermOrdinal>>
) -> Result<()>
[src]

Serializes fast field values by pushing them to the FastFieldSerializer.

If a mapping is given, the values are remapped and sorted before serialization. This is used when serializing facets. Specifically their terms are first stored in the writer as their position in the IndexWriter's HashMap. This value is called an UnorderedTermId.

During the serialization of the segment, terms gets sorted and tantivy builds a mapping to convert this UnorderedTermId into term ordinals.

Auto Trait Implementations

Blanket Implementations

impl<T> Fruit for T where
    T: Send + Downcast
[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Erased for T[src]

impl<T> Downcast for T where
    T: Any
[src]

impl<T> DowncastSync for T where
    T: Send + Sync + Any
[src]