Class Lucene99ScalarQuantizedVectorsReader
- All Implemented Interfaces:
Closeable,AutoCloseable,Accountable,QuantizedVectorsReader
- WARNING: This API is experimental and might change in incompatible ways in the next release.
-
Field Summary
Fields inherited from class org.apache.lucene.codecs.hnsw.FlatVectorsReader
vectorScorerFields inherited from interface org.apache.lucene.util.Accountable
NULL_ACCOUNTABLE -
Constructor Summary
ConstructorsConstructorDescriptionLucene99ScalarQuantizedVectorsReader(SegmentReadState state, FlatVectorsReader rawVectorsReader, FlatVectorsScorer scorer) -
Method Summary
Modifier and TypeMethodDescriptionvoidChecks consistency of this reader.voidclose()getByteVectorValues(String field) Returns theByteVectorValuesfor the givenfield.getFloatVectorValues(String field) Returns theFloatVectorValuesfor the givenfield.getOffHeapByteSize(FieldInfo fieldInfo) Returns the desired size of off-heap memory for the given field.getQuantizationState(String field) getQuantizedVectorValues(String field) getRandomVectorScorer(String field, byte[] target) Returns aRandomVectorScorerfor the given field and target vector.getRandomVectorScorer(String field, float[] target) Returns aRandomVectorScorerfor the given field and target vector.longReturn the memory usage of this object in bytes.Methods inherited from class org.apache.lucene.codecs.hnsw.FlatVectorsReader
getFlatVectorScorer, getMergeInstance, search, searchMethods inherited from class org.apache.lucene.codecs.KnnVectorsReader
finishMerge, mergeOffHeapByteSizeMapsMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.lucene.util.Accountable
getChildResources
-
Constructor Details
-
Lucene99ScalarQuantizedVectorsReader
public Lucene99ScalarQuantizedVectorsReader(SegmentReadState state, FlatVectorsReader rawVectorsReader, FlatVectorsScorer scorer) throws IOException - Throws:
IOException
-
-
Method Details
-
checkIntegrity
Description copied from class:KnnVectorsReaderChecks consistency of this reader.Note that this may be costly in terms of I/O, e.g. may involve computing a checksum value against large data files.
- Specified by:
checkIntegrityin classKnnVectorsReader- Throws:
IOException
-
getFloatVectorValues
Description copied from class:KnnVectorsReaderReturns theFloatVectorValuesfor the givenfield. The behavior is undefined if the given field doesn't have KNN vectors enabled on itsFieldInfo. The return value is nevernull.- Specified by:
getFloatVectorValuesin classKnnVectorsReader- Throws:
IOException
-
getByteVectorValues
Description copied from class:KnnVectorsReaderReturns theByteVectorValuesfor the givenfield. The behavior is undefined if the given field doesn't have KNN vectors enabled on itsFieldInfo. The return value is nevernull.- Specified by:
getByteVectorValuesin classKnnVectorsReader- Throws:
IOException
-
getRandomVectorScorer
Description copied from class:FlatVectorsReaderReturns aRandomVectorScorerfor the given field and target vector.- Specified by:
getRandomVectorScorerin classFlatVectorsReader- Parameters:
field- the field to searchtarget- the target vector- Returns:
- a
RandomVectorScorerfor the given field and target vector. - Throws:
IOException- if an I/O error occurs when reading from the index.
-
getRandomVectorScorer
Description copied from class:FlatVectorsReaderReturns aRandomVectorScorerfor the given field and target vector.- Specified by:
getRandomVectorScorerin classFlatVectorsReader- Parameters:
field- the field to searchtarget- the target vector- Returns:
- a
RandomVectorScorerfor the given field and target vector. - Throws:
IOException- if an I/O error occurs when reading from the index.
-
close
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Throws:
IOException
-
ramBytesUsed
public long ramBytesUsed()Description copied from interface:AccountableReturn the memory usage of this object in bytes. Negative values are illegal.- Specified by:
ramBytesUsedin interfaceAccountable
-
getOffHeapByteSize
Description copied from class:KnnVectorsReaderReturns the desired size of off-heap memory for the given field. This size can be used to help determine the memory requirements for optimal search performance, which can be greatly affected by page faults when not enough memory is available.For reporting purposes, the size of the off-heap index structures is broken down by their file extension, which provides a logical categorization of their purpose, e.g. the
Lucene99HnswVectorsFormatstores the HNSW graph neighbours lists in a file with the "vex" extension.The long value is the size in bytes of the off-heap space needed if the associated index structure were to be fully loaded in memory. While somewhat analogous to
Accountable.ramBytesUsed()(which reports actual on-heap memory usage), the sizes reported by this method are not actual usage but rather the amount of available memory needed to fully load the index into memory, rather than an actual RAM usage requirement.To determine the total desired off-heap memory size for the given field:
getOffHeapByteSize(field).values().stream().mapToLong(Long::longValue).sum();The default implementation returns an empty map.
- Overrides:
getOffHeapByteSizein classKnnVectorsReader- Parameters:
fieldInfo- the fieldInfo- Returns:
- a map of the desired off-heap memory requirements by category
-
getQuantizedVectorValues
- Specified by:
getQuantizedVectorValuesin interfaceQuantizedVectorsReader- Throws:
IOException
-
getQuantizationState
- Specified by:
getQuantizationStatein interfaceQuantizedVectorsReader
-