Package org.apache.lucene.codecs

# Class BufferingKnnVectorsWriter

java.lang.Object
org.apache.lucene.codecs.KnnVectorsWriter
org.apache.lucene.codecs.BufferingKnnVectorsWriter

All Implemented Interfaces:
  `Closeable`, `AutoCloseable`, `Accountable`

public abstract class BufferingKnnVectorsWriter extends KnnVectorsWriter
Buffers up pending vector value(s) per doc, then flushes when segment flushes. Used for `SimpleTextKnnVectorsWriter` and for vectors writers before v 9.3 .

WARNING: This API is experimental and might change in incompatible ways in the next release.

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from class org.apache.lucene.codecs.KnnVectorsWriter

  `KnnVectorsWriter.MergedVectorValues`

- ## Field Summary

  ### Fields inherited from interface org.apache.lucene.util.Accountable

  `NULL_ACCOUNTABLE`

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `BufferingKnnVectorsWriter()`
  Sole constructor

- ## Method Summary

  Modifier and Type
  Method
  Description
  `KnnFieldVectorsWriter<?>`
  `addField(FieldInfo fieldInfo)`
  Add new field for indexing
  `void`
  `flush(int maxDoc, Sorter.DocMap sortMap)`
  Flush all buffered data on disk *
  `void`
  `mergeOneField(FieldInfo fieldInfo, MergeState mergeState)`
  Write field for merging
  `long`
  `ramBytesUsed()`
  Return the memory usage of this object in bytes.
  `protected abstract void`
  `writeField(FieldInfo fieldInfo, ByteVectorValues byteVectorValues, int maxDoc)`
  Write the provided byte vector field
  `protected abstract void`
  `writeField(FieldInfo fieldInfo, FloatVectorValues floatVectorValues, int maxDoc)`
  Write the provided float vector field

  ### Methods inherited from class org.apache.lucene.codecs.KnnVectorsWriter

  `finish, mapOldOrdToNewOrd, merge`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

  ### Methods inherited from interface org.apache.lucene.util.Accountable

  `getChildResources`

  ### Methods inherited from interface java.io.Closeable

  `close`

- ## Constructor Details

  - ### BufferingKnnVectorsWriter

    protected BufferingKnnVectorsWriter()
    Sole constructor

- ## Method Details

  - ### addField

    public KnnFieldVectorsWriter<?> addField(FieldInfo fieldInfo) throws IOException
    Description copied from class: `KnnVectorsWriter`
    Add new field for indexing
    Specified by:
      `addField` in class `KnnVectorsWriter`
    Throws:
      `IOException`

  - ### flush

    public void flush(int maxDoc, Sorter.DocMap sortMap) throws IOException
    Description copied from class: `KnnVectorsWriter`
    Flush all buffered data on disk *
    Specified by:
      `flush` in class `KnnVectorsWriter`
    Throws:
      `IOException`

  - ### ramBytesUsed

    public long ramBytesUsed()
    Description copied from interface: `Accountable`
    Return the memory usage of this object in bytes. Negative values are illegal.

  - ### mergeOneField

    public void mergeOneField(FieldInfo fieldInfo, MergeState mergeState) throws IOException
    Description copied from class: `KnnVectorsWriter`
    Write field for merging
    Overrides:
      `mergeOneField` in class `KnnVectorsWriter`
    Throws:
      `IOException`

  - ### writeField

    protected abstract void writeField(FieldInfo fieldInfo, FloatVectorValues floatVectorValues, int maxDoc) throws IOException
    Write the provided float vector field
    Throws:
      `IOException`

  - ### writeField

    protected abstract void writeField(FieldInfo fieldInfo, ByteVectorValues byteVectorValues, int maxDoc) throws IOException
    Write the provided byte vector field
    Throws:
      `IOException`