Package org.apache.lucene.index
Class ByteVectorValues
java.lang.Object
org.apache.lucene.search.DocIdSetIterator
org.apache.lucene.index.ByteVectorValues
- Direct Known Subclasses:
OffHeapByteVectorValues
This class provides access to per-document floating point vector values indexed as
KnnByteVectorField
.- WARNING: This API is experimental and might change in incompatible ways in the next release.
-
Field Summary
Fields inherited from class org.apache.lucene.search.DocIdSetIterator
NO_MORE_DOCS
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic void
checkField
(LeafReader in, String field) Checks the Vector Encoding of a fieldfinal long
cost()
Returns the estimated cost of thisDocIdSetIterator
.abstract int
Return the dimension of the vectorsabstract VectorScorer
scorer
(byte[] query) Return aVectorScorer
for the given query vector.abstract int
size()
Return the number of vectors for this field.abstract byte[]
Return the vector value for the current document ID.Methods inherited from class org.apache.lucene.search.DocIdSetIterator
advance, all, docID, empty, nextDoc, range, slowAdvance
-
Constructor Details
-
ByteVectorValues
protected ByteVectorValues()Sole constructor
-
-
Method Details
-
dimension
public abstract int dimension()Return the dimension of the vectors -
size
public abstract int size()Return the number of vectors for this field.- Returns:
- the number of vectors returned by this iterator
-
cost
public final long cost()Description copied from class:DocIdSetIterator
Returns the estimated cost of thisDocIdSetIterator
.This is generally an upper bound of the number of documents this iterator might match, but may be a rough heuristic, hardcoded value, or otherwise completely inaccurate.
- Specified by:
cost
in classDocIdSetIterator
-
vectorValue
Return the vector value for the current document ID. It is illegal to call this method when the iterator is not positioned: before advancing, or after failing to advance. The returned array may be shared across calls, re-used, and modified as the iterator advances.- Returns:
- the vector value
- Throws:
IOException
-
checkField
Checks the Vector Encoding of a field- Throws:
IllegalStateException
- iffield
has vectors, but using a different encoding- WARNING: This API is experimental and might change in incompatible ways in the next release.
- NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.
-
scorer
Return aVectorScorer
for the given query vector. The iterator for the scorer is not the same instance as the iterator for thisByteVectorValues
. It is a copy, and iteration over the scorer will not affect the iteration of thisByteVectorValues
.- Parameters:
query
- the query vector- Returns:
- a
VectorScorer
instance or null - Throws:
IOException
-