java.lang.Object
org.apache.lucene.codecs.hnsw.FlatVectorsReader
- All Implemented Interfaces:
Closeable,AutoCloseable,Accountable
- Direct Known Subclasses:
Lucene99FlatVectorsReader,Lucene99ScalarQuantizedVectorsReader
Reads vectors from an index. When searching this reader, it iterates every vector in the index
and scores them
This class is useful when:
- the number of vectors is small
- when used along side some additional indexing structure that can be used to better search the vectors (like HNSW).
-
Field Summary
FieldsFields inherited from interface org.apache.lucene.util.Accountable
NULL_ACCOUNTABLE -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedFlatVectorsReader(FlatVectorsScorer vectorsScorer) Sole constructor -
Method Summary
Modifier and TypeMethodDescriptionabstract voidChecks consistency of this reader.abstract ByteVectorValuesgetByteVectorValues(String field) Returns theByteVectorValuesfor the givenfield.abstract FloatVectorValuesgetFloatVectorValues(String field) Returns theFloatVectorValuesfor the givenfield.abstract RandomVectorScorergetRandomVectorScorer(String field, byte[] target) Returns aRandomVectorScorerfor the given field and target vector.abstract RandomVectorScorergetRandomVectorScorer(String field, float[] target) Returns aRandomVectorScorerfor the given field and target vector.Methods 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, ramBytesUsed
-
Field Details
-
vectorScorer
Scorer for flat vectors
-
-
Constructor Details
-
FlatVectorsReader
Sole constructor
-
-
Method Details
-
getFlatVectorScorer
- Returns:
- the
FlatVectorsScorerfor this reader.
-
getRandomVectorScorer
public abstract RandomVectorScorer getRandomVectorScorer(String field, float[] target) throws IOException Returns aRandomVectorScorerfor the given field and target vector.- 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
public abstract RandomVectorScorer getRandomVectorScorer(String field, byte[] target) throws IOException Returns aRandomVectorScorerfor the given field and target vector.- 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.
-
checkIntegrity
Checks 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.
- Throws:
IOException
-
getFloatVectorValues
Returns theFloatVectorValuesfor the givenfield. The behavior is undefined if the given field doesn't have KNN vectors enabled on itsFieldInfo. The return value is nevernull.- Throws:
IOException
-
getByteVectorValues
Returns theByteVectorValuesfor the givenfield. The behavior is undefined if the given field doesn't have KNN vectors enabled on itsFieldInfo. The return value is nevernull.- Throws:
IOException
-