java.lang.Object
org.apache.lucene.index.KnnVectorValues
org.apache.lucene.index.FloatVectorValues
org.elasticsearch.index.codec.vectors.SampleReader
All Implemented Interfaces:
org.apache.lucene.codecs.lucene95.HasIndexSlice

public class SampleReader extends org.apache.lucene.index.FloatVectorValues implements org.apache.lucene.codecs.lucene95.HasIndexSlice
  • Nested Class Summary

    Nested classes/interfaces inherited from class org.apache.lucene.index.KnnVectorValues

    org.apache.lucene.index.KnnVectorValues.DocIndexIterator
  • Method Summary

    Modifier and Type
    Method
    Description
    org.apache.lucene.index.FloatVectorValues
     
    createSampleReader(org.apache.lucene.index.FloatVectorValues origin, int k, long seed)
     
    int
     
    org.apache.lucene.util.Bits
    getAcceptOrds(org.apache.lucene.util.Bits acceptDocs)
     
    org.apache.lucene.store.IndexInput
     
    int
     
    int
    ordToDoc(int ord)
     
    static int[]
    reservoirSample(int n, int k, long seed)
    Sample k elements from n elements according to reservoir sampling algorithm.
    int
     
    float[]
    vectorValue(int targetOrd)
     

    Methods inherited from class org.apache.lucene.index.FloatVectorValues

    checkField, fromFloats, getEncoding, scorer

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

    createDenseIterator, createSparseIterator, fromDISI, iterator

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • size

      public int size()
      Specified by:
      size in class org.apache.lucene.index.KnnVectorValues
    • dimension

      public int dimension()
      Specified by:
      dimension in class org.apache.lucene.index.KnnVectorValues
    • copy

      public org.apache.lucene.index.FloatVectorValues copy() throws IOException
      Specified by:
      copy in class org.apache.lucene.index.FloatVectorValues
      Throws:
      IOException
    • getSlice

      public org.apache.lucene.store.IndexInput getSlice()
      Specified by:
      getSlice in interface org.apache.lucene.codecs.lucene95.HasIndexSlice
    • vectorValue

      public float[] vectorValue(int targetOrd) throws IOException
      Specified by:
      vectorValue in class org.apache.lucene.index.FloatVectorValues
      Throws:
      IOException
    • getVectorByteLength

      public int getVectorByteLength()
      Overrides:
      getVectorByteLength in class org.apache.lucene.index.KnnVectorValues
    • ordToDoc

      public int ordToDoc(int ord)
      Overrides:
      ordToDoc in class org.apache.lucene.index.KnnVectorValues
    • getAcceptOrds

      public org.apache.lucene.util.Bits getAcceptOrds(org.apache.lucene.util.Bits acceptDocs)
      Overrides:
      getAcceptOrds in class org.apache.lucene.index.KnnVectorValues
    • createSampleReader

      public static SampleReader createSampleReader(org.apache.lucene.index.FloatVectorValues origin, int k, long seed)
    • reservoirSample

      public static int[] reservoirSample(int n, int k, long seed)
      Sample k elements from n elements according to reservoir sampling algorithm.
      Parameters:
      n - number of elements
      k - number of samples
      seed - random seed
      Returns:
      array of k samples