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.
  • 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