Class SampleReader
java.lang.Object
org.apache.lucene.index.KnnVectorValues
org.apache.lucene.index.FloatVectorValues
org.apache.lucene.sandbox.codecs.quantization.SampleReader
- All Implemented Interfaces:
HasIndexSlice
A reader of vector values that samples a subset of the vectors.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.lucene.index.KnnVectorValues
KnnVectorValues.DocIndexIterator -
Method Summary
Modifier and TypeMethodDescriptioncopy()static SampleReadercreateSampleReader(FloatVectorValues origin, int k, long seed) intgetAcceptOrds(Bits acceptDocs) getSlice()intintordToDoc(int ord) static int[]reservoirSample(int n, int k, long seed) Sample k elements from n elements according to reservoir sampling algorithm.static int[]reservoirSampleFromArray(int[] origin, int k, long seed) Sample k elements from the origin array using reservoir sampling algorithm.intsize()float[]vectorValue(int targetOrd) Methods inherited from class org.apache.lucene.index.FloatVectorValues
checkField, fromFloats, getEncoding, scorerMethods inherited from class org.apache.lucene.index.KnnVectorValues
createDenseIterator, createSparseIterator, fromDISI, iterator
-
Method Details
-
size
public int size()- Specified by:
sizein classKnnVectorValues
-
dimension
public int dimension()- Specified by:
dimensionin classKnnVectorValues
-
copy
- Specified by:
copyin classFloatVectorValues- Throws:
IOException
-
getSlice
- Specified by:
getSlicein interfaceHasIndexSlice
-
vectorValue
- Specified by:
vectorValuein classFloatVectorValues- Throws:
IOException
-
getVectorByteLength
public int getVectorByteLength()- Overrides:
getVectorByteLengthin classKnnVectorValues
-
ordToDoc
public int ordToDoc(int ord) - Overrides:
ordToDocin classKnnVectorValues
-
getAcceptOrds
- Overrides:
getAcceptOrdsin classKnnVectorValues
-
createSampleReader
-
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 elementsk- number of samplesseed- random seed- Returns:
- array of k samples
-
reservoirSampleFromArray
public static int[] reservoirSampleFromArray(int[] origin, int k, long seed) Sample k elements from the origin array using reservoir sampling algorithm.- Parameters:
origin- original arrayk- number of samplesseed- random seed- Returns:
- array of k samples
-