Module org.elasticsearch.server
Class ESNextDiskBBQVectorsReader
java.lang.Object
org.apache.lucene.codecs.KnnVectorsReader
org.elasticsearch.index.codec.vectors.diskbbq.IVFVectorsReader<org.elasticsearch.index.codec.vectors.diskbbq.next.ESNextDiskBBQVectorsReader.NextFieldEntry>
org.elasticsearch.index.codec.vectors.diskbbq.next.ESNextDiskBBQVectorsReader
- All Implemented Interfaces:
Closeable,AutoCloseable,VectorPreconditioner
public class ESNextDiskBBQVectorsReader
extends IVFVectorsReader<org.elasticsearch.index.codec.vectors.diskbbq.next.ESNextDiskBBQVectorsReader.NextFieldEntry>
implements VectorPreconditioner
Default implementation of
IVFVectorsReader. It scores the posting lists centroids using
brute force and then scores the top ones using the posting list.-
Nested Class Summary
Nested classes/interfaces inherited from class org.elasticsearch.index.codec.vectors.diskbbq.IVFVectorsReader
IVFVectorsReader.FieldEntry, IVFVectorsReader.PostingVisitor -
Field Summary
Fields inherited from class org.elasticsearch.index.codec.vectors.diskbbq.IVFVectorsReader
fields, ivfCentroids, ivfClusters, versionMeta -
Constructor Summary
ConstructorsConstructorDescriptionESNextDiskBBQVectorsReader(org.apache.lucene.index.SegmentReadState state, GenericFlatVectorReaders.LoadFlatVectorsReader getFormatReader) -
Method Summary
Modifier and TypeMethodDescriptionprotected org.elasticsearch.index.codec.vectors.diskbbq.next.ESNextDiskBBQVectorsReader.NextFieldEntrydoReadField(org.apache.lucene.store.IndexInput input, String rawVectorFormat, boolean useDirectIOReads, org.apache.lucene.index.VectorSimilarityFunction similarityFunction, org.apache.lucene.index.VectorEncoding vectorEncoding, int numCentroids, long centroidOffset, long centroidLength, long postingListOffset, long postingListLength, float[] globalCentroid, float globalCentroidDp) getCentroidIterator(org.apache.lucene.index.FieldInfo fieldInfo, int numCentroids, org.apache.lucene.store.IndexInput centroids, float[] targetQuery, org.apache.lucene.store.IndexInput postingListSlice, org.apache.lucene.search.AcceptDocs acceptDocs, float approximateCost, org.apache.lucene.index.FloatVectorValues values, float visitRatio) getOffHeapByteSize(org.apache.lucene.index.FieldInfo fieldInfo) getPostingVisitor(org.apache.lucene.index.FieldInfo fieldInfo, int numVectors, org.apache.lucene.store.IndexInput indexInput, float[] target, org.apache.lucene.util.Bits acceptDocs, org.apache.lucene.store.IndexInput centroidSlice) getPreconditioner(org.apache.lucene.index.FieldInfo fieldInfo) Methods inherited from class org.elasticsearch.index.codec.vectors.diskbbq.IVFVectorsReader
checkIntegrity, close, getByteVectorValues, getFloatVectorValues, getReaderForField, openDataInput, search, searchMethods inherited from class org.apache.lucene.codecs.KnnVectorsReader
finishMerge, getMergeInstance, mergeOffHeapByteSizeMaps
-
Constructor Details
-
ESNextDiskBBQVectorsReader
public ESNextDiskBBQVectorsReader(org.apache.lucene.index.SegmentReadState state, GenericFlatVectorReaders.LoadFlatVectorsReader getFormatReader) throws IOException - Throws:
IOException
-
-
Method Details
-
getCentroidIterator
public CentroidIterator getCentroidIterator(org.apache.lucene.index.FieldInfo fieldInfo, int numCentroids, org.apache.lucene.store.IndexInput centroids, float[] targetQuery, org.apache.lucene.store.IndexInput postingListSlice, org.apache.lucene.search.AcceptDocs acceptDocs, float approximateCost, org.apache.lucene.index.FloatVectorValues values, float visitRatio) throws IOException - Specified by:
getCentroidIteratorin classIVFVectorsReader<org.elasticsearch.index.codec.vectors.diskbbq.next.ESNextDiskBBQVectorsReader.NextFieldEntry>- Throws:
IOException
-
doReadField
protected org.elasticsearch.index.codec.vectors.diskbbq.next.ESNextDiskBBQVectorsReader.NextFieldEntry doReadField(org.apache.lucene.store.IndexInput input, String rawVectorFormat, boolean useDirectIOReads, org.apache.lucene.index.VectorSimilarityFunction similarityFunction, org.apache.lucene.index.VectorEncoding vectorEncoding, int numCentroids, long centroidOffset, long centroidLength, long postingListOffset, long postingListLength, float[] globalCentroid, float globalCentroidDp) throws IOException - Specified by:
doReadFieldin classIVFVectorsReader<org.elasticsearch.index.codec.vectors.diskbbq.next.ESNextDiskBBQVectorsReader.NextFieldEntry>- Throws:
IOException
-
getPreconditioner
public Preconditioner getPreconditioner(org.apache.lucene.index.FieldInfo fieldInfo) throws IOException - Specified by:
getPreconditionerin interfaceVectorPreconditioner- Throws:
IOException
-
getPostingVisitor
public IVFVectorsReader.PostingVisitor getPostingVisitor(org.apache.lucene.index.FieldInfo fieldInfo, int numVectors, org.apache.lucene.store.IndexInput indexInput, float[] target, org.apache.lucene.util.Bits acceptDocs, org.apache.lucene.store.IndexInput centroidSlice) throws IOException - Specified by:
getPostingVisitorin classIVFVectorsReader<org.elasticsearch.index.codec.vectors.diskbbq.next.ESNextDiskBBQVectorsReader.NextFieldEntry>- Throws:
IOException
-
getOffHeapByteSize
- Overrides:
getOffHeapByteSizein classIVFVectorsReader<org.elasticsearch.index.codec.vectors.diskbbq.next.ESNextDiskBBQVectorsReader.NextFieldEntry>
-