Package org.apache.lucene.codecs
Class FlatVectorsReader
java.lang.Object
org.apache.lucene.codecs.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).
- WARNING: This API is experimental and might change in incompatible ways in the next release.
-
Field Summary
Fields inherited from interface org.apache.lucene.util.Accountable
NULL_ACCOUNTABLE
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionabstract void
Checks consistency of this reader.abstract ByteVectorValues
getByteVectorValues
(String field) Returns theByteVectorValues
for the givenfield
.abstract FloatVectorValues
getFloatVectorValues
(String field) Returns theFloatVectorValues
for the givenfield
.abstract RandomVectorScorer
getRandomVectorScorer
(String field, byte[] target) Returns aRandomVectorScorer
for the given field and target vector.abstract RandomVectorScorer
getRandomVectorScorer
(String field, float[] target) Returns aRandomVectorScorer
for the given field and target vector.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.apache.lucene.util.Accountable
getChildResources, ramBytesUsed
-
Constructor Details
-
FlatVectorsReader
protected FlatVectorsReader()Sole constructor
-
-
Method Details
-
getRandomVectorScorer
public abstract RandomVectorScorer getRandomVectorScorer(String field, float[] target) throws IOException Returns aRandomVectorScorer
for the given field and target vector.- Parameters:
field
- the field to searchtarget
- the target vector- Returns:
- a
RandomVectorScorer
for 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 aRandomVectorScorer
for the given field and target vector.- Parameters:
field
- the field to searchtarget
- the target vector- Returns:
- a
RandomVectorScorer
for 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
- NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.
-
getFloatVectorValues
Returns theFloatVectorValues
for 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 theByteVectorValues
for 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
-