Interface RandomAccessVectorValues

All Known Subinterfaces:
RandomAccessQuantizedByteVectorValues, RandomAccessVectorValues.Bytes, RandomAccessVectorValues.Floats
All Known Implementing Classes:
OffHeapByteVectorValues, OffHeapByteVectorValues.DenseOffHeapVectorValues, OffHeapFloatVectorValues, OffHeapFloatVectorValues.DenseOffHeapVectorValues, OffHeapQuantizedByteVectorValues, OffHeapQuantizedByteVectorValues.DenseOffHeapVectorValues

public interface RandomAccessVectorValues
Provides random access to vectors by dense ordinal. This interface is used by HNSW-based implementations of KNN search.
WARNING: This API is experimental and might change in incompatible ways in the next release.
  • Method Details

    • size

      int size()
      Return the number of vector values
    • dimension

      int dimension()
      Return the dimension of the returned vector values
    • copy

      Creates a new copy of this RandomAccessVectorValues. This is helpful when you need to access different values at once, to avoid overwriting the underlying vector returned.
      Throws:
      IOException
    • getSlice

      default IndexInput getSlice()
      Returns a slice of the underlying IndexInput that contains the vector values if available
    • getVectorByteLength

      int getVectorByteLength()
      Returns the byte length of the vector values.
    • ordToDoc

      default int ordToDoc(int ord)
      Translates vector ordinal to the correct document ID. By default, this is an identity function.
      Parameters:
      ord - the vector ordinal
      Returns:
      the document Id for that vector ordinal
    • getAcceptOrds

      default Bits getAcceptOrds(Bits acceptDocs)
      Returns the Bits representing live documents. By default, this is an identity function.
      Parameters:
      acceptDocs - the accept docs
      Returns:
      the accept docs
    • fromFloats

      static RandomAccessVectorValues.Floats fromFloats(List<float[]> vectors, int dim)
      Creates a RandomAccessVectorValues.Floats from a list of float arrays.
      Parameters:
      vectors - the list of float arrays
      dim - the dimension of the vectors
      Returns:
      a RandomAccessVectorValues.Floats instance
    • fromBytes

      static RandomAccessVectorValues.Bytes fromBytes(List<byte[]> vectors, int dim)
      Creates a RandomAccessVectorValues.Bytes from a list of byte arrays.
      Parameters:
      vectors - the list of byte arrays
      dim - the dimension of the vectors
      Returns:
      a RandomAccessVectorValues.Bytes instance