Module org.apache.lucene.core
Class OffHeapFloatVectorValues.SparseOffHeapVectorValues
java.lang.Object
org.apache.lucene.search.DocIdSetIterator
org.apache.lucene.index.FloatVectorValues
org.apache.lucene.codecs.lucene95.OffHeapFloatVectorValues
org.apache.lucene.codecs.lucene95.OffHeapFloatVectorValues.SparseOffHeapVectorValues
- All Implemented Interfaces:
RandomAccessVectorValues<float[]>
- Enclosing class:
OffHeapFloatVectorValues
private static class OffHeapFloatVectorValues.SparseOffHeapVectorValues
extends OffHeapFloatVectorValues
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.lucene.codecs.lucene95.OffHeapFloatVectorValues
OffHeapFloatVectorValues.DenseOffHeapVectorValues -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final OrdToDocDISIReaderConfigurationprivate final IndexInputprivate final IndexedDISIprivate final DirectMonotonicReaderFields inherited from class org.apache.lucene.codecs.lucene95.OffHeapFloatVectorValues
byteSize, dimension, lastOrd, size, slice, valueFields inherited from class org.apache.lucene.search.DocIdSetIterator
NO_MORE_DOCS -
Constructor Summary
ConstructorsConstructorDescriptionSparseOffHeapVectorValues(OrdToDocDISIReaderConfiguration configuration, IndexInput dataIn, IndexInput slice, int dimension, int byteSize) -
Method Summary
Modifier and TypeMethodDescriptionintadvance(int target) Advances to the first beyond the current whose document number is greater than or equal to target, and returns the document number itself.RandomAccessVectorValues<float[]> copy()Creates a new copy of thisRandomAccessVectorValues.intdocID()Returns the following:-1ifDocIdSetIterator.nextDoc()orDocIdSetIterator.advance(int)were not called yet.getAcceptOrds(Bits acceptDocs) Returns theBitsrepresenting live documents.intnextDoc()Advances to the next document in the set and returns the doc it is currently on, orDocIdSetIterator.NO_MORE_DOCSif there are no more docs in the set.
NOTE: after the iterator has exhausted you should not call this method, as it may result in unpredicted behavior.intordToDoc(int ord) Translates vector ordinal to the correct document ID.float[]Return the vector value for the current document ID.Methods inherited from class org.apache.lucene.codecs.lucene95.OffHeapFloatVectorValues
dimension, load, size, vectorValueMethods inherited from class org.apache.lucene.index.FloatVectorValues
costMethods inherited from class org.apache.lucene.search.DocIdSetIterator
all, empty, range, slowAdvance
-
Field Details
-
ordToDoc
-
disi
-
dataIn
-
configuration
-
-
Constructor Details
-
SparseOffHeapVectorValues
public SparseOffHeapVectorValues(OrdToDocDISIReaderConfiguration configuration, IndexInput dataIn, IndexInput slice, int dimension, int byteSize) throws IOException - Throws:
IOException
-
-
Method Details
-
vectorValue
Description copied from class:FloatVectorValuesReturn 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.- Specified by:
vectorValuein classFloatVectorValues- Returns:
- the vector value
- Throws:
IOException
-
docID
public int docID()Description copied from class:DocIdSetIteratorReturns the following:-1ifDocIdSetIterator.nextDoc()orDocIdSetIterator.advance(int)were not called yet.DocIdSetIterator.NO_MORE_DOCSif the iterator has exhausted.- Otherwise it should return the doc ID it is currently on.
- Specified by:
docIDin classDocIdSetIterator
-
nextDoc
Description copied from class:DocIdSetIteratorAdvances to the next document in the set and returns the doc it is currently on, orDocIdSetIterator.NO_MORE_DOCSif there are no more docs in the set.
NOTE: after the iterator has exhausted you should not call this method, as it may result in unpredicted behavior.- Specified by:
nextDocin classDocIdSetIterator- Throws:
IOException
-
advance
Description copied from class:DocIdSetIteratorAdvances to the first beyond the current whose document number is greater than or equal to target, and returns the document number itself. Exhausts the iterator and returnsDocIdSetIterator.NO_MORE_DOCSif target is greater than the highest document number in the set.The behavior of this method is undefined when called with
target ≤ current, or after the iterator has exhausted. Both cases may result in unpredicted behavior.When
target > currentit behaves as if written:int advance(int target) { int doc; while ((doc = nextDoc()) < target) { } return doc; }Some implementations are considerably more efficient than that.NOTE: this method may be called with
DocIdSetIterator.NO_MORE_DOCSfor efficiency by some Scorers. If your implementation cannot efficiently determine that it should exhaust, it is recommended that you check for that value in each call to this method.- Specified by:
advancein classDocIdSetIterator- Throws:
IOException
-
copy
Description copied from interface:RandomAccessVectorValuesCreates a new copy of thisRandomAccessVectorValues. This is helpful when you need to access different values at once, to avoid overwriting the underlying float vector returned byRandomAccessVectorValues.vectorValue(int).- Throws:
IOException
-
ordToDoc
public int ordToDoc(int ord) Description copied from interface:RandomAccessVectorValuesTranslates vector ordinal to the correct document ID. By default, this is an identity function.- Parameters:
ord- the vector ordinal- Returns:
- the document Id for that vector ordinal
-
getAcceptOrds
Description copied from interface:RandomAccessVectorValuesReturns theBitsrepresenting live documents. By default, this is an identity function.- Parameters:
acceptDocs- the accept docs- Returns:
- the accept docs
-