Package org.apache.lucene.codecs

## Class FlatVectorsReader

- java.lang.Object
- - org.apache.lucene.codecs.FlatVectorsReader

- All Implemented Interfaces:
    `Closeable`, `AutoCloseable`, `Accountable`
  Direct Known Subclasses:
    `Lucene99FlatVectorsReader`, `Lucene99ScalarQuantizedVectorsReader`

      public abstract class FlatVectorsReader
      extends Object
      implements Closeable, Accountable

  Reads vectors from an index. When searching this reader, it iterates every vector in the index and scores them

  This class is useful when:

  - the number of vectors is small
  - when used along side some additional indexing structure that can be used to better search the vectors (like HNSW).
  WARNING: This API is experimental and might change in incompatible ways in the next release.

- - ### Field Summary

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

      `NULL_ACCOUNTABLE`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor | Description
    --- | --- | ---
    `protected` | `FlatVectorsReader()` | Sole constructor

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `abstract void` | `checkIntegrity()` | Checks consistency of this reader.
    `abstract ByteVectorValues` | `getByteVectorValues​(String field)` | Returns the `ByteVectorValues` for the given `field`.
    `abstract FloatVectorValues` | `getFloatVectorValues​(String field)` | Returns the `FloatVectorValues` for the given `field`.
    `abstract RandomVectorScorer` | `getRandomVectorScorer​(String field, byte[] target)` | Returns a `RandomVectorScorer` for the given field and target vector.
    `abstract RandomVectorScorer` | `getRandomVectorScorer​(String field, float[] target)` | Returns a `RandomVectorScorer` for the given field and target vector.

    - ### 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, ramBytesUsed`

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

      `close`

- - ### Constructor Detail

    - #### FlatVectorsReader

          protected FlatVectorsReader()

      Sole constructor

  - ### Method Detail

    - #### getRandomVectorScorer

          public abstract RandomVectorScorer getRandomVectorScorer​(String field,
                                                                   float[] target)
                                                            throws IOException

      Returns a `RandomVectorScorer` for the given field and target vector.
      Parameters:
        `field` - the field to search
        `target` - the target vector
      Returns:
        a `RandomVectorScorer` for the given field and target vector.
      Throws:
        `IOException` - if an I/O error occurs when reading from the index.

    - #### getRandomVectorScorer

          public abstract RandomVectorScorer getRandomVectorScorer​(String field,
                                                                   byte[] target)
                                                            throws IOException

      Returns a `RandomVectorScorer` for the given field and target vector.
      Parameters:
        `field` - the field to search
        `target` - the target vector
      Returns:
        a `RandomVectorScorer` for the given field and target vector.
      Throws:
        `IOException` - if an I/O error occurs when reading from the index.

    - #### checkIntegrity

          public abstract void checkIntegrity()
                                       throws IOException

      Checks consistency of this reader.

      Note that this may be costly in terms of I/O, e.g. may involve computing a checksum value against large data files.

      Throws:
        `IOException`
      NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.

    - #### getFloatVectorValues

          public abstract FloatVectorValues getFloatVectorValues​(String field)
                                                          throws IOException

      Returns the `FloatVectorValues` for the given `field`. The behavior is undefined if the given field doesn't have KNN vectors enabled on its `FieldInfo`. The return value is never `null`.
      Throws:
        `IOException`

    - #### getByteVectorValues

          public abstract ByteVectorValues getByteVectorValues​(String field)
                                                        throws IOException

      Returns the `ByteVectorValues` for the given `field`. The behavior is undefined if the given field doesn't have KNN vectors enabled on its `FieldInfo`. The return value is never `null`.
      Throws:
        `IOException`