Package org.apache.lucene.index

# Class ByteVectorValues

java.lang.Object
org.apache.lucene.index.KnnVectorValues
org.apache.lucene.index.ByteVectorValues

Direct Known Subclasses:
  `OffHeapBinarizedVectorValues`, `OffHeapByteVectorValues`, `QuantizedByteVectorValues`

public abstract class ByteVectorValues extends KnnVectorValues
This class provides access to per-document floating point vector values indexed as `KnnByteVectorField`.

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.index.KnnVectorValues

  `KnnVectorValues.DocIndexIterator`

- ## Constructor Summary

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

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static void`
  `checkField(LeafReader in, String field)`
  Checks the Vector Encoding of a field
  `abstract ByteVectorValues`
  `copy()`
  Creates a new copy of this `KnnVectorValues`.
  `static ByteVectorValues`
  `fromBytes(List<byte[]> vectors, int dim)`
  Creates a `ByteVectorValues` from a list of byte arrays.
  `VectorEncoding`
  `getEncoding()`
  The vector encoding of these values.
  `VectorScorer`
  `scorer(byte[] query)`
  Return a `VectorScorer` for the given query vector.
  `abstract byte[]`
  `vectorValue(int ord)`
  Return the vector value for the given vector ordinal which must be in [0, size() - 1], otherwise IndexOutOfBoundsException is thrown.

  ### Methods inherited from class org.apache.lucene.index.KnnVectorValues

  `createDenseIterator, createSparseIterator, dimension, fromDISI, getAcceptOrds, getVectorByteLength, iterator, ordToDoc, size`

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

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

- ## Constructor Details

  - ### ByteVectorValues

    protected ByteVectorValues()
    Sole constructor

- ## Method Details

  - ### vectorValue

    public abstract byte[] vectorValue(int ord) throws IOException
    Return the vector value for the given vector ordinal which must be in [0, size() - 1], otherwise IndexOutOfBoundsException is thrown. The returned array may be shared across calls.
    Returns:
      the vector value
    Throws:
      `IOException`

  - ### copy

    public abstract ByteVectorValues copy() throws IOException
    Description copied from class: `KnnVectorValues`
    Creates a new copy of this `KnnVectorValues`. This is helpful when you need to access different values at once, to avoid overwriting the underlying vector returned.
    Specified by:
      `copy` in class `KnnVectorValues`
    Throws:
      `IOException`

  - ### checkField

    public static void checkField(LeafReader in, String field)
    Checks the Vector Encoding of a field
    Throws:
      `IllegalStateException` - if `field` has vectors, but using a different encoding
    WARNING: This API is experimental and might change in incompatible ways in the next release.
    NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.

  - ### scorer

    public VectorScorer scorer(byte[] query) throws IOException
    Return a `VectorScorer` for the given query vector.
    Parameters:
      `query` - the query vector
    Returns:
      a `VectorScorer` instance or null
    Throws:
      `IOException`

  - ### getEncoding

    public VectorEncoding getEncoding()
    Description copied from class: `KnnVectorValues`
    The vector encoding of these values.
    Specified by:
      `getEncoding` in class `KnnVectorValues`

  - ### fromBytes

    public static ByteVectorValues fromBytes(List<byte[]> vectors, int dim)
    Creates a `ByteVectorValues` from a list of byte arrays.
    Parameters:
      `vectors` - the list of byte arrays
      `dim` - the dimension of the vectors
    Returns:
      a `ByteVectorValues` instancec