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 SampleReader
createSampleReader
(FloatVectorValues origin, int k, long seed) int
getAcceptOrds
(Bits acceptDocs) getSlice()
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.static int[]
reservoirSampleFromArray
(int[] origin, int k, long seed) Sample k elements from the origin array using reservoir sampling algorithm.int
size()
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
-
Method Details
-
size
public int size()- Specified by:
size
in classKnnVectorValues
-
dimension
public int dimension()- Specified by:
dimension
in classKnnVectorValues
-
copy
- Specified by:
copy
in classFloatVectorValues
- Throws:
IOException
-
getSlice
- Specified by:
getSlice
in interfaceHasIndexSlice
-
vectorValue
- Specified by:
vectorValue
in classFloatVectorValues
- Throws:
IOException
-
getVectorByteLength
public int getVectorByteLength()- Overrides:
getVectorByteLength
in classKnnVectorValues
-
ordToDoc
public int ordToDoc(int ord) - Overrides:
ordToDoc
in classKnnVectorValues
-
getAcceptOrds
- Overrides:
getAcceptOrds
in 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
-