Index

A B C D E F G H I J K L M N O P R S T U V W X 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form

A

AbstractLongHeap - Class in io.github.jbellis.jvector.util
A min heap that stores longs; a primitive priority queue that like all priority queues maintains a partial ordering of its elements such that the least element can always be found in constant time.
AbstractLongHeap(int) - Constructor for class io.github.jbellis.jvector.util.AbstractLongHeap
Create an empty heap with the configured initial size.
Accountable - Interface in io.github.jbellis.jvector.util
 
add(float[], float[]) - Static method in class io.github.jbellis.jvector.vector.VectorUtil
Adds the second argument to the first
add(long) - Method in class io.github.jbellis.jvector.util.AbstractLongHeap
 
addGraphNode(int, RandomAccessVectorValues<T>) - Method in class io.github.jbellis.jvector.graph.GraphIndexBuilder
Inserts a node with the given vector value to the graph.
addInOrder(int, float) - Method in class io.github.jbellis.jvector.graph.NodeArray
Add a new node to the NodeArray.
addInPlace(float[], float[]) - Static method in class io.github.jbellis.jvector.vector.VectorUtil
 
addInPlace(float[], float[]) - Method in interface io.github.jbellis.jvector.vector.VectorUtilSupport
Adds v2 into v1, in place (v1 will be modified)
addNode(int) - Method in class io.github.jbellis.jvector.graph.OnHeapGraphIndex
Add the given node ordinal with an empty set of neighbors.
adjustForField(long, Field) - Static method in class io.github.jbellis.jvector.util.RamUsageEstimator
This method returns the maximum representation size of an object.
alignObjectSize(long) - Static method in class io.github.jbellis.jvector.util.RamUsageEstimator
Aligns an object size to be the next multiple of RamUsageEstimator.NUM_BYTES_OBJECT_ALIGNMENT.
ALL - Static variable in interface io.github.jbellis.jvector.util.Bits
 
and(FixedBitSet) - Method in class io.github.jbellis.jvector.util.FixedBitSet
this = this AND other
andNot(FixedBitSet) - Method in class io.github.jbellis.jvector.util.FixedBitSet
this = this AND NOT other
andNotCount(FixedBitSet, FixedBitSet) - Static method in class io.github.jbellis.jvector.util.FixedBitSet
Returns the popcount or cardinality of "a and not b" or "intersection(a, not(b))".
approximateCardinality() - Method in class io.github.jbellis.jvector.util.AtomicFixedBitSet
 
approximateCardinality() - Method in class io.github.jbellis.jvector.util.BitSet
Return an approximation of the cardinality of this set.
approximateCardinality() - Method in class io.github.jbellis.jvector.util.FixedBitSet
 
approximateCardinality() - Method in class io.github.jbellis.jvector.util.GrowableBitSet
 
approximateCardinality() - Method in class io.github.jbellis.jvector.util.SparseFixedBitSet
 
approximateCardinality() - Method in class io.github.jbellis.jvector.util.SynchronizedGrowableBitSet
 
approximateScoreFunctionFor(float[], VectorSimilarityFunction) - Method in class io.github.jbellis.jvector.pq.BQVectors
 
approximateScoreFunctionFor(float[], VectorSimilarityFunction) - Method in interface io.github.jbellis.jvector.pq.CompressedVectors
 
approximateScoreFunctionFor(float[], VectorSimilarityFunction) - Method in class io.github.jbellis.jvector.pq.PQVectors
 
arrayLength() - Method in class io.github.jbellis.jvector.graph.ConcurrentNeighborSet
 
ArrayNodesIterator(int[]) - Constructor for class io.github.jbellis.jvector.graph.NodesIterator.ArrayNodesIterator
 
ArrayNodesIterator(int[], int) - Constructor for class io.github.jbellis.jvector.graph.NodesIterator.ArrayNodesIterator
Constructor for iterator based on integer array representing nodes
ArrayUtil - Class in io.github.jbellis.jvector.util
Methods for manipulating arrays.
assembleAndSum(float[], int, byte[]) - Static method in class io.github.jbellis.jvector.vector.VectorUtil
 
assembleAndSum(float[], int, byte[]) - Method in interface io.github.jbellis.jvector.vector.VectorUtilSupport
Calculates the sum of sparse points in a vector.
AtomicFixedBitSet - Class in io.github.jbellis.jvector.util
A BitSet implementation that offers concurrent reads and writes through an AtomicLongArray as bit storage.
AtomicFixedBitSet(int) - Constructor for class io.github.jbellis.jvector.util.AtomicFixedBitSet
 

B

backlink(Function<Integer, ConcurrentNeighborSet>, float) - Method in class io.github.jbellis.jvector.graph.ConcurrentNeighborSet
For every neighbor X that this node Y connects to, add a reciprocal link from X to Y.
BinaryQuantization - Class in io.github.jbellis.jvector.pq
Binary Quantization of float vectors: each float is compressed to a single bit, and similarity is computed with a simple Hamming distance.
BinaryQuantization(float[]) - Constructor for class io.github.jbellis.jvector.pq.BinaryQuantization
 
Bits - Interface in io.github.jbellis.jvector.util
Interface for Bitset-like structures.
Bits.MatchAllBits - Class in io.github.jbellis.jvector.util
Bits with all bits set.
Bits.MatchNoBits - Class in io.github.jbellis.jvector.util
Bits with no bits set.
bits2words(int) - Static method in class io.github.jbellis.jvector.util.FixedBitSet
returns the number of 64 bit words it would take to hold numBits
BitSet - Class in io.github.jbellis.jvector.util
Base implementation for a bit set.
BitSet() - Constructor for class io.github.jbellis.jvector.util.BitSet
 
BitUtil - Class in io.github.jbellis.jvector.util
A variety of high efficiency bit twiddling routines and encoders for primitives.
BoundedLongHeap - Class in io.github.jbellis.jvector.util
An AbstractLongHeap with a fixed maximum size, allocated at construction time.
BoundedLongHeap(int) - Constructor for class io.github.jbellis.jvector.util.BoundedLongHeap
Create an empty Heap of the configured initial size.
BoundedLongHeap(int, int) - Constructor for class io.github.jbellis.jvector.util.BoundedLongHeap
 
BQVectors - Class in io.github.jbellis.jvector.pq
 
BQVectors(BinaryQuantization, long[][]) - Constructor for class io.github.jbellis.jvector.pq.BQVectors
 
build() - Method in class io.github.jbellis.jvector.graph.GraphIndexBuilder
 
build() - Method in class io.github.jbellis.jvector.graph.GraphSearcher.Builder
 
Builder(GraphIndex.View<T>) - Constructor for class io.github.jbellis.jvector.graph.GraphSearcher.Builder
 
BYTE - Enum constant in enum class io.github.jbellis.jvector.vector.VectorEncoding
Encodes vector using 8 bits of precision per sample.
byteSize - Variable in enum class io.github.jbellis.jvector.vector.VectorEncoding
The number of bytes required to encode a scalar in this format.

C

CachedNode(float[], int[]) - Constructor for class io.github.jbellis.jvector.disk.GraphCache.CachedNode
 
CachingGraphIndex - Class in io.github.jbellis.jvector.disk
 
CachingGraphIndex(OnDiskGraphIndex<float[]>) - Constructor for class io.github.jbellis.jvector.disk.CachingGraphIndex
 
CachingGraphIndex(OnDiskGraphIndex<float[]>, int) - Constructor for class io.github.jbellis.jvector.disk.CachingGraphIndex
 
cardinality() - Method in class io.github.jbellis.jvector.util.AtomicFixedBitSet
 
cardinality() - Method in class io.github.jbellis.jvector.util.BitSet
Return the number of bits that are set.
cardinality() - Method in class io.github.jbellis.jvector.util.FixedBitSet
Returns number of set bits.
cardinality() - Method in class io.github.jbellis.jvector.util.GrowableBitSet
 
cardinality() - Method in class io.github.jbellis.jvector.util.SparseFixedBitSet
 
cardinality() - Method in class io.github.jbellis.jvector.util.SynchronizedGrowableBitSet
 
centroidOf(List<float[]>) - Static method in class io.github.jbellis.jvector.pq.KMeansPlusPlusClusterer
Computes the centroid of a list of points.
checkFinite(float[]) - Static method in class io.github.jbellis.jvector.vector.VectorUtil
Checks if a float vector only has finite components.
cleanup() - Method in class io.github.jbellis.jvector.graph.ConcurrentNeighborSet
Enforce maxConnections as a hard cap, since we allow it to be exceeded temporarily during construction for efficiency.
cleanup() - Method in class io.github.jbellis.jvector.graph.GraphIndexBuilder
Cleanup the graph by completing removal of marked-for-delete nodes, trimming neighbor sets to the advertised degree, and updating the entry node.
clear() - Method in class io.github.jbellis.jvector.graph.NodeArray
 
clear() - Method in class io.github.jbellis.jvector.graph.NodeQueue
 
clear() - Method in class io.github.jbellis.jvector.util.AbstractLongHeap
Removes all entries from the PriorityQueue.
clear() - Method in class io.github.jbellis.jvector.util.AtomicFixedBitSet
 
clear() - Method in class io.github.jbellis.jvector.util.BitSet
Clear all the bits of the set.
clear() - Method in class io.github.jbellis.jvector.util.FixedBitSet
 
clear() - Method in class io.github.jbellis.jvector.util.GrowableBitSet
 
clear() - Method in class io.github.jbellis.jvector.util.SparseFixedBitSet
 
clear() - Method in class io.github.jbellis.jvector.util.SynchronizedGrowableBitSet
 
clear(int) - Method in class io.github.jbellis.jvector.util.AtomicFixedBitSet
 
clear(int) - Method in class io.github.jbellis.jvector.util.BitSet
Clear the bit at i.
clear(int) - Method in class io.github.jbellis.jvector.util.FixedBitSet
 
clear(int) - Method in class io.github.jbellis.jvector.util.GrowableBitSet
 
clear(int) - Method in class io.github.jbellis.jvector.util.SparseFixedBitSet
Clear the bit at index i.
clear(int) - Method in class io.github.jbellis.jvector.util.SynchronizedGrowableBitSet
 
clear(int, int) - Method in class io.github.jbellis.jvector.util.AtomicFixedBitSet
 
clear(int, int) - Method in class io.github.jbellis.jvector.util.BitSet
Clears a range of bits.
clear(int, int) - Method in class io.github.jbellis.jvector.util.FixedBitSet
 
clear(int, int) - Method in class io.github.jbellis.jvector.util.GrowableBitSet
 
clear(int, int) - Method in class io.github.jbellis.jvector.util.SparseFixedBitSet
 
clear(int, int) - Method in class io.github.jbellis.jvector.util.SynchronizedGrowableBitSet
 
clone() - Method in class io.github.jbellis.jvector.util.FixedBitSet
 
close() - Method in class io.github.jbellis.jvector.disk.CachingGraphIndex
 
close() - Method in class io.github.jbellis.jvector.disk.OnDiskGraphIndex
 
close() - Method in class io.github.jbellis.jvector.disk.OnDiskGraphIndex.OnDiskView
 
close() - Method in interface io.github.jbellis.jvector.disk.RandomAccessReader
 
close() - Method in interface io.github.jbellis.jvector.disk.ReaderSupplier
 
close() - Method in class io.github.jbellis.jvector.disk.SimpleMappedReader
 
close() - Method in class io.github.jbellis.jvector.disk.SimpleMappedReaderSupplier
 
close() - Method in interface io.github.jbellis.jvector.graph.GraphIndex
 
close() - Method in class io.github.jbellis.jvector.graph.OnHeapGraphIndex
 
close() - Method in class io.github.jbellis.jvector.util.PhysicalCoreExecutor
 
close() - Method in class io.github.jbellis.jvector.util.PoolingSupport.Pooled
 
cluster(int) - Method in class io.github.jbellis.jvector.pq.KMeansPlusPlusClusterer
Performs clustering on the provided set of points.
clusterOnce() - Method in class io.github.jbellis.jvector.pq.KMeansPlusPlusClusterer
 
compare(byte[], byte[]) - Method in enum class io.github.jbellis.jvector.vector.VectorSimilarityFunction
Calculates a similarity score between the two vectors with a specified function.
compare(float[], float[]) - Method in enum class io.github.jbellis.jvector.vector.VectorSimilarityFunction
Calculates a similarity score between the two vectors with a specified function.
COMPRESSED_REFS_ENABLED - Static variable in class io.github.jbellis.jvector.util.RamUsageEstimator
True, iff compressed references (oops) are enabled by this JVM
CompressedVectors - Interface in io.github.jbellis.jvector.pq
 
compute(RandomAccessVectorValues<float[]>) - Static method in class io.github.jbellis.jvector.pq.BinaryQuantization
 
compute(RandomAccessVectorValues<float[]>, int, boolean) - Static method in class io.github.jbellis.jvector.pq.ProductQuantization
Initializes the codebooks by clustering the input data using Product Quantization.
compute(RandomAccessVectorValues<float[]>, int, boolean, ForkJoinPool, ForkJoinPool) - Static method in class io.github.jbellis.jvector.pq.ProductQuantization
Initializes the codebooks by clustering the input data using Product Quantization.
compute(RandomAccessVectorValues<float[]>, ForkJoinPool) - Static method in class io.github.jbellis.jvector.pq.BinaryQuantization
 
ConcurrentNeighborSet - Class in io.github.jbellis.jvector.graph
A concurrent set of neighbors that encapsulates diversity/pruning mechanics.
ConcurrentNeighborSet(int, int, NodeSimilarity) - Constructor for class io.github.jbellis.jvector.graph.ConcurrentNeighborSet
 
ConcurrentNeighborSet(int, int, NodeSimilarity, float) - Constructor for class io.github.jbellis.jvector.graph.ConcurrentNeighborSet
 
Constants - Class in io.github.jbellis.jvector.util
Some useful constants.
containsKey(int) - Method in class io.github.jbellis.jvector.util.DenseIntMap
 
containsNode(int) - Method in interface io.github.jbellis.jvector.graph.GraphIndex
 
containsNode(int) - Method in class io.github.jbellis.jvector.graph.OnHeapGraphIndex
 
copy() - Method in class io.github.jbellis.jvector.graph.ConcurrentNeighborSet
 
copy() - Method in class io.github.jbellis.jvector.graph.ListRandomAccessVectorValues
 
copy() - Method in class io.github.jbellis.jvector.graph.NodeArray
 
copy() - Method in interface io.github.jbellis.jvector.graph.RandomAccessVectorValues
Creates a new copy of this RandomAccessVectorValues.
copyOf(Bits) - Static method in class io.github.jbellis.jvector.util.FixedBitSet
Make a copy of the given bits.
copyOfSubArray(byte[], int, int) - Static method in class io.github.jbellis.jvector.util.ArrayUtil
Copies the specified range of the given array into a new sub array.
copyOfSubArray(float[], int, int) - Static method in class io.github.jbellis.jvector.util.ArrayUtil
Copies the specified range of the given array into a new sub array.
copyOfSubArray(int[], int, int) - Static method in class io.github.jbellis.jvector.util.ArrayUtil
Copies the specified range of the given array into a new sub array.
copyOfSubArray(long[], int, int) - Static method in class io.github.jbellis.jvector.util.ArrayUtil
Copies the specified range of the given array into a new sub array.
copyOfSubArray(T[], int, int) - Static method in class io.github.jbellis.jvector.util.ArrayUtil
Copies the specified range of the given array into a new sub array.
cosine(byte[], byte[]) - Static method in class io.github.jbellis.jvector.vector.VectorUtil
Returns the cosine similarity between the two vectors.
cosine(byte[], byte[]) - Method in interface io.github.jbellis.jvector.vector.VectorUtilSupport
Returns the cosine similarity between the two byte vectors.
cosine(float[], float[]) - Static method in class io.github.jbellis.jvector.vector.VectorUtil
Returns the cosine similarity between the two vectors.
cosine(float[], float[]) - Method in interface io.github.jbellis.jvector.vector.VectorUtilSupport
Returns the cosine similarity between the two vectors.
COSINE - Enum constant in enum class io.github.jbellis.jvector.vector.VectorSimilarityFunction
Cosine similarity.
createCompressedVectors(Object[]) - Method in class io.github.jbellis.jvector.pq.BinaryQuantization
 
createCompressedVectors(Object[]) - Method in class io.github.jbellis.jvector.pq.ProductQuantization
 
createCompressedVectors(Object[]) - Method in interface io.github.jbellis.jvector.pq.VectorCompressor
 

D

decode(byte[], float[]) - Method in class io.github.jbellis.jvector.pq.ProductQuantization
Decodes the quantized representation (byte array) to its approximate original vector.
DefaultVectorizationProvider - Class in io.github.jbellis.jvector.vector
Default provider returning scalar implementations.
DefaultVectorizationProvider() - Constructor for class io.github.jbellis.jvector.vector.DefaultVectorizationProvider
 
DenseIntMap<T> - Class in io.github.jbellis.jvector.util
A map (but not a Map) of int -> T where the int keys are dense-ish and start at zero, but the size of the map is not known in advance.
DenseIntMap(int) - Constructor for class io.github.jbellis.jvector.util.DenseIntMap
 
descSortFindRightMostInsertionPoint(float) - Method in class io.github.jbellis.jvector.graph.NodeArray
 
dimension() - Method in class io.github.jbellis.jvector.graph.ListRandomAccessVectorValues
 
dimension() - Method in interface io.github.jbellis.jvector.graph.RandomAccessVectorValues
Return the dimension of the returned vector values
divInPlace(float[], float) - Static method in class io.github.jbellis.jvector.vector.VectorUtil
 
divInPlace(float[], float) - Method in interface io.github.jbellis.jvector.vector.VectorUtilSupport
Divide vector by divisor, in place (vector will be modified)
DocIdSetIterator - Class in io.github.jbellis.jvector.util
 
DocIdSetIterator() - Constructor for class io.github.jbellis.jvector.util.DocIdSetIterator
 
DOT_PRODUCT - Enum constant in enum class io.github.jbellis.jvector.vector.VectorSimilarityFunction
Dot product.
dotProduct(byte[], byte[]) - Static method in class io.github.jbellis.jvector.vector.VectorUtil
Dot product computed over signed bytes.
dotProduct(byte[], byte[]) - Method in interface io.github.jbellis.jvector.vector.VectorUtilSupport
Returns the dot product computed over signed bytes.
dotProduct(float[], float[]) - Static method in class io.github.jbellis.jvector.vector.VectorUtil
Returns the vector dot product of the two vectors.
dotProduct(float[], float[]) - Method in interface io.github.jbellis.jvector.vector.VectorUtilSupport
Calculates the dot product of the given float arrays.
dotProduct(float[], int, float[], int, int) - Static method in class io.github.jbellis.jvector.vector.VectorUtil
 
dotProduct(float[], int, float[], int, int) - Method in interface io.github.jbellis.jvector.vector.VectorUtilSupport
Calculates the dot product of float arrays of differing sizes, or a subset of the data
dotProductScore(byte[], byte[]) - Static method in class io.github.jbellis.jvector.vector.VectorUtil
Dot product score computed over signed bytes, scaled to be in [0, 1].
downHeap(int) - Method in class io.github.jbellis.jvector.util.AbstractLongHeap
 
duplicate() - Method in class io.github.jbellis.jvector.disk.SimpleMappedReader
 

E

EMPTY - Static variable in class io.github.jbellis.jvector.graph.NodeArray
 
encode(float[]) - Method in class io.github.jbellis.jvector.pq.BinaryQuantization
Encodes the input vector
encode(float[]) - Method in class io.github.jbellis.jvector.pq.ProductQuantization
Encodes the input vector using the PQ codebooks.
encode(float[]) - Method in interface io.github.jbellis.jvector.pq.VectorCompressor
 
encodeAll(List<float[]>) - Method in interface io.github.jbellis.jvector.pq.VectorCompressor
 
encodeAll(List<float[]>, ForkJoinPool) - Method in class io.github.jbellis.jvector.pq.BinaryQuantization
 
encodeAll(List<float[]>, ForkJoinPool) - Method in class io.github.jbellis.jvector.pq.ProductQuantization
Encodes the given vectors in parallel using the PQ codebooks.
encodeAll(List<float[]>, ForkJoinPool) - Method in interface io.github.jbellis.jvector.pq.VectorCompressor
 
ensureCapacity(FixedBitSet, int) - Static method in class io.github.jbellis.jvector.util.FixedBitSet
If the given FixedBitSet is large enough to hold numBits+1, returns the given bits, otherwise returns a new FixedBitSet which can hold the requested number of bits.
entryNode() - Method in class io.github.jbellis.jvector.disk.OnDiskGraphIndex.OnDiskView
 
entryNode() - Method in interface io.github.jbellis.jvector.graph.GraphIndex.View
 
entrySet() - Method in class io.github.jbellis.jvector.util.DenseIntMap
 
equals(Object) - Method in class io.github.jbellis.jvector.pq.BinaryQuantization
 
equals(Object) - Method in class io.github.jbellis.jvector.pq.BQVectors
 
equals(Object) - Method in class io.github.jbellis.jvector.pq.PQVectors
 
equals(Object) - Method in class io.github.jbellis.jvector.pq.ProductQuantization
 
equals(Object) - Method in class io.github.jbellis.jvector.util.FixedBitSet
 
EUCLIDEAN - Enum constant in enum class io.github.jbellis.jvector.vector.VectorSimilarityFunction
Euclidean distance
execute(Runnable) - Method in class io.github.jbellis.jvector.util.PhysicalCoreExecutor
 
Experimental - Annotation Interface in io.github.jbellis.jvector.annotations
Indicates that an API is experimental and may change or be removed in future releases with no prior notice.

F

FixedBitSet - Class in io.github.jbellis.jvector.util
BitSet of fixed length (numBits), backed by accessible (FixedBitSet.getBits()) long[], accessed with an int index, implementing Bits.
FixedBitSet(int) - Constructor for class io.github.jbellis.jvector.util.FixedBitSet
Creates a new LongBitSet.
FixedBitSet(long[], int) - Constructor for class io.github.jbellis.jvector.util.FixedBitSet
Creates a new LongBitSet using the provided long[] array as backing store.
flip(int) - Method in class io.github.jbellis.jvector.util.FixedBitSet
Flip the bit at the provided index.
flip(int, int) - Method in class io.github.jbellis.jvector.util.FixedBitSet
Flips a range of bits
FLOAT32 - Enum constant in enum class io.github.jbellis.jvector.vector.VectorEncoding
Encodes vector using 32 bits of precision per sample in IEEE floating point format.
floatToSortableInt(float) - Static method in class io.github.jbellis.jvector.util.NumericUtils
Converts a float value to a sortable signed int.
fromPrimitiveIterator(PrimitiveIterator.OfInt, int) - Static method in class io.github.jbellis.jvector.graph.NodesIterator
 

G

get() - Method in interface io.github.jbellis.jvector.disk.ReaderSupplier
 
get() - Method in class io.github.jbellis.jvector.disk.SimpleMappedReaderSupplier
 
get() - Method in class io.github.jbellis.jvector.util.PoolingSupport
 
get() - Method in class io.github.jbellis.jvector.util.PoolingSupport.Pooled
 
get(int) - Method in class io.github.jbellis.jvector.pq.BQVectors
 
get(int) - Method in class io.github.jbellis.jvector.util.AbstractLongHeap
Return the element at the ith location in the heap array.
get(int) - Method in class io.github.jbellis.jvector.util.AtomicFixedBitSet
 
get(int) - Method in interface io.github.jbellis.jvector.util.Bits
Returns the value of the bit with the specified index.
get(int) - Method in class io.github.jbellis.jvector.util.Bits.MatchAllBits
 
get(int) - Method in class io.github.jbellis.jvector.util.Bits.MatchNoBits
 
get(int) - Method in class io.github.jbellis.jvector.util.DenseIntMap
 
get(int) - Method in class io.github.jbellis.jvector.util.FixedBitSet
 
get(int) - Method in class io.github.jbellis.jvector.util.GrowableBitSet
 
get(int) - Method in class io.github.jbellis.jvector.util.SparseFixedBitSet
 
get(int) - Method in class io.github.jbellis.jvector.util.SynchronizedGrowableBitSet
 
getAndClear(int) - Method in class io.github.jbellis.jvector.util.FixedBitSet
 
getAndSet(int) - Method in class io.github.jbellis.jvector.util.AtomicFixedBitSet
 
getAndSet(int) - Method in class io.github.jbellis.jvector.util.BitSet
Set the bit at i, returning true if it was previously set.
getAndSet(int) - Method in class io.github.jbellis.jvector.util.FixedBitSet
 
getAndSet(int) - Method in class io.github.jbellis.jvector.util.GrowableBitSet
 
getAndSet(int) - Method in class io.github.jbellis.jvector.util.SparseFixedBitSet
 
getAndSet(int) - Method in class io.github.jbellis.jvector.util.SynchronizedGrowableBitSet
 
getAverageDegree() - Method in class io.github.jbellis.jvector.graph.OnHeapGraphIndex
 
getAverageShortEdges() - Method in class io.github.jbellis.jvector.graph.OnHeapGraphIndex
 
getBits() - Method in class io.github.jbellis.jvector.util.FixedBitSet
Expert.
getCenter() - Method in class io.github.jbellis.jvector.pq.ProductQuantization
 
getCompressedSize() - Method in class io.github.jbellis.jvector.pq.BQVectors
 
getCompressedSize() - Method in interface io.github.jbellis.jvector.pq.CompressedVectors
 
getCompressedSize() - Method in class io.github.jbellis.jvector.pq.PQVectors
 
getDeletedNodes() - Method in class io.github.jbellis.jvector.graph.OnHeapGraphIndex
 
getGraph() - Method in class io.github.jbellis.jvector.graph.GraphIndexBuilder
 
getIdUpperBound() - Method in interface io.github.jbellis.jvector.graph.GraphIndex
 
getIdUpperBound() - Method in interface io.github.jbellis.jvector.graph.GraphIndex.View
 
getIdUpperBound() - Method in class io.github.jbellis.jvector.graph.OnHeapGraphIndex
 
getInstance() - Static method in class io.github.jbellis.jvector.vector.VectorizationProvider
Returns the default instance of the provider matching vectorization possibilities of actual runtime.
getNeighborsIterator(int) - Method in class io.github.jbellis.jvector.disk.OnDiskGraphIndex.OnDiskView
 
getNeighborsIterator(int) - Method in interface io.github.jbellis.jvector.graph.GraphIndex.View
Iterator over the neighbors of a given node.
getNode(int) - Method in class io.github.jbellis.jvector.disk.GraphCache
return the cached node if present, or null if not
getNodes() - Method in class io.github.jbellis.jvector.disk.CachingGraphIndex
 
getNodes() - Method in class io.github.jbellis.jvector.disk.OnDiskGraphIndex
 
getNodes() - Method in interface io.github.jbellis.jvector.graph.GraphIndex
Get all node ordinals included in the graph.
getNodes() - Method in class io.github.jbellis.jvector.graph.OnHeapGraphIndex
 
getNodes() - Method in class io.github.jbellis.jvector.graph.SearchResult
 
getNodesIterator() - Method in class io.github.jbellis.jvector.util.DenseIntMap
 
getOriginalDimension() - Method in class io.github.jbellis.jvector.pq.BinaryQuantization
 
getOriginalSize() - Method in class io.github.jbellis.jvector.pq.BQVectors
 
getOriginalSize() - Method in interface io.github.jbellis.jvector.pq.CompressedVectors
 
getOriginalSize() - Method in class io.github.jbellis.jvector.pq.PQVectors
 
getPhysicalCoreCount() - Static method in class io.github.jbellis.jvector.util.PhysicalCoreExecutor
 
getSequentialRenumbering(GraphIndex<T>) - Static method in class io.github.jbellis.jvector.disk.OnDiskGraphIndex
 
getShortEdges() - Method in class io.github.jbellis.jvector.graph.ConcurrentNeighborSet
 
getSubspaceCount() - Method in class io.github.jbellis.jvector.pq.ProductQuantization
 
getVector(int) - Method in class io.github.jbellis.jvector.disk.OnDiskGraphIndex.OnDiskView
 
getVector(int) - Method in interface io.github.jbellis.jvector.graph.GraphIndex.View
Retrieve the vector associated with a given node.
getVectorUtilSupport() - Method in class io.github.jbellis.jvector.vector.DefaultVectorizationProvider
 
getVectorUtilSupport() - Method in class io.github.jbellis.jvector.vector.PanamaVectorizationProvider
 
getVectorUtilSupport() - Method in class io.github.jbellis.jvector.vector.VectorizationProvider
Returns a singleton (stateless) VectorUtilSupport to support SIMD usage in VectorUtil.
getView() - Method in class io.github.jbellis.jvector.disk.CachingGraphIndex
 
getView() - Method in class io.github.jbellis.jvector.disk.OnDiskGraphIndex
return a Graph that can be safely queried concurrently
getView() - Method in interface io.github.jbellis.jvector.graph.GraphIndex
Return a View with which to navigate the graph.
getView() - Method in class io.github.jbellis.jvector.graph.OnHeapGraphIndex
Returns a view of the graph that is safe to use concurrently with updates performed on the underlying graph.
getVisitedCount() - Method in class io.github.jbellis.jvector.graph.SearchResult
 
GraphCache - Class in io.github.jbellis.jvector.disk
 
GraphCache() - Constructor for class io.github.jbellis.jvector.disk.GraphCache
 
GraphCache.CachedNode - Class in io.github.jbellis.jvector.disk
 
GraphIndex<T> - Interface in io.github.jbellis.jvector.graph
Represents a graph-based vector index.
GraphIndex.View<T> - Interface in io.github.jbellis.jvector.graph
 
GraphIndexBuilder<T> - Class in io.github.jbellis.jvector.graph
Builder for Concurrent GraphIndex.
GraphIndexBuilder(RandomAccessVectorValues<T>, VectorEncoding, VectorSimilarityFunction, int, int, float, float) - Constructor for class io.github.jbellis.jvector.graph.GraphIndexBuilder
Reads all the vectors from vector values, builds a graph connecting them by their dense ordinals, using the given hyperparameter settings, and returns the resulting graph.
GraphIndexBuilder(RandomAccessVectorValues<T>, VectorEncoding, VectorSimilarityFunction, int, int, float, float, ForkJoinPool, ForkJoinPool) - Constructor for class io.github.jbellis.jvector.graph.GraphIndexBuilder
Reads all the vectors from vector values, builds a graph connecting them by their dense ordinals, using the given hyperparameter settings, and returns the resulting graph.
GraphSearcher<T> - Class in io.github.jbellis.jvector.graph
Searches a graph to find nearest neighbors to a query vector.
GraphSearcher.Builder<T> - Class in io.github.jbellis.jvector.graph
Builder
grow(byte[], int) - Static method in class io.github.jbellis.jvector.util.ArrayUtil
Returns an array whose size is at least minSize, generally over-allocating exponentially
grow(char[], int) - Static method in class io.github.jbellis.jvector.util.ArrayUtil
Returns an array whose size is at least minSize, generally over-allocating exponentially
grow(double[], int) - Static method in class io.github.jbellis.jvector.util.ArrayUtil
Returns an array whose size is at least minSize, generally over-allocating exponentially
grow(float[], int) - Static method in class io.github.jbellis.jvector.util.ArrayUtil
Returns an array whose size is at least minSize, generally over-allocating exponentially
grow(int[]) - Static method in class io.github.jbellis.jvector.util.ArrayUtil
Returns a larger array, generally over-allocating exponentially
grow(int[], int) - Static method in class io.github.jbellis.jvector.util.ArrayUtil
Returns an array whose size is at least minSize, generally over-allocating exponentially
grow(long[], int) - Static method in class io.github.jbellis.jvector.util.ArrayUtil
Returns an array whose size is at least minSize, generally over-allocating exponentially
grow(short[], int) - Static method in class io.github.jbellis.jvector.util.ArrayUtil
Returns an array whose size is at least minSize, generally over-allocating exponentially
grow(T[], int) - Static method in class io.github.jbellis.jvector.util.ArrayUtil
Returns an array whose size is at least minSize, generally over-allocating exponentially
GrowableBitSet - Class in io.github.jbellis.jvector.util
A BitSet implementation that grows as needed to accommodate set(index) calls.
GrowableBitSet(int) - Constructor for class io.github.jbellis.jvector.util.GrowableBitSet
 
GrowableBitSet(BitSet) - Constructor for class io.github.jbellis.jvector.util.GrowableBitSet
 
GrowableLongHeap - Class in io.github.jbellis.jvector.util
An AbstractLongHeap that can grow in size (unbounded, except for memory and array size limits).
GrowableLongHeap(int) - Constructor for class io.github.jbellis.jvector.util.GrowableLongHeap
Create an empty heap with the configured initial size.
growArrays() - Method in class io.github.jbellis.jvector.graph.NodeArray
 
growExact(byte[], int) - Static method in class io.github.jbellis.jvector.util.ArrayUtil
Returns a new array whose size is exact the specified newLength without over-allocating
growExact(char[], int) - Static method in class io.github.jbellis.jvector.util.ArrayUtil
Returns a new array whose size is exact the specified newLength without over-allocating
growExact(double[], int) - Static method in class io.github.jbellis.jvector.util.ArrayUtil
Returns a new array whose size is exact the specified newLength without over-allocating
growExact(float[], int) - Static method in class io.github.jbellis.jvector.util.ArrayUtil
Returns a new array whose size is exact the specified newLength without over-allocating
growExact(int[], int) - Static method in class io.github.jbellis.jvector.util.ArrayUtil
Returns a new array whose size is exact the specified newLength without over-allocating
growExact(long[], int) - Static method in class io.github.jbellis.jvector.util.ArrayUtil
Returns a new array whose size is exact the specified newLength without over-allocating
growExact(short[], int) - Static method in class io.github.jbellis.jvector.util.ArrayUtil
Returns a new array whose size is exact the specified newLength without over-allocating
growExact(T[], int) - Static method in class io.github.jbellis.jvector.util.ArrayUtil
Returns a new array whose size is exact the specified newLength without over-allocating

H

hammingDistance(long[], long[]) - Static method in class io.github.jbellis.jvector.vector.VectorUtil
 
hammingDistance(long[], long[]) - Method in interface io.github.jbellis.jvector.vector.VectorUtilSupport
 
hashCode() - Method in class io.github.jbellis.jvector.pq.BinaryQuantization
 
hashCode() - Method in class io.github.jbellis.jvector.pq.BQVectors
 
hashCode() - Method in class io.github.jbellis.jvector.pq.PQVectors
 
hashCode() - Method in class io.github.jbellis.jvector.pq.ProductQuantization
 
hashCode() - Method in class io.github.jbellis.jvector.util.FixedBitSet
 
HASHTABLE_RAM_BYTES_PER_ENTRY - Static variable in class io.github.jbellis.jvector.util.RamUsageEstimator
Approximate memory usage that we assign to a Hashtable / HashMap entry.
hasNext() - Method in class io.github.jbellis.jvector.graph.NodesIterator.ArrayNodesIterator
 
heap - Variable in class io.github.jbellis.jvector.util.AbstractLongHeap
 
humanReadableUnits(long, DecimalFormat) - Static method in class io.github.jbellis.jvector.util.RamUsageEstimator
Returns size in human-readable units (GB, MB, KB or bytes).

I

improveConnections(int) - Method in class io.github.jbellis.jvector.graph.GraphIndexBuilder
 
incomplete() - Method in class io.github.jbellis.jvector.graph.NodeQueue
 
insert(int, float, float) - Method in class io.github.jbellis.jvector.graph.ConcurrentNeighborSet
Insert a new neighbor, maintaining our size cap by removing the least diverse neighbor if necessary.
insertDiverse(NodeArray, NodeArray) - Method in class io.github.jbellis.jvector.graph.ConcurrentNeighborSet
For each candidate (going from best to worst), select it only if it is closer to target than it is to any of the already-selected candidates.
insertsInProgress() - Method in class io.github.jbellis.jvector.graph.GraphIndexBuilder
Number of inserts in progress, across all threads.
insertSorted(int, float) - Method in class io.github.jbellis.jvector.graph.NodeArray
Add a new node to the NodeArray into a correct sort position according to its score.
instance - Static variable in class io.github.jbellis.jvector.util.PhysicalCoreExecutor
 
intersectionCount(FixedBitSet, FixedBitSet) - Static method in class io.github.jbellis.jvector.util.FixedBitSet
Returns the popcount or cardinality of the intersection of the two sets.
intersectionOf(Bits, Bits) - Static method in interface io.github.jbellis.jvector.util.Bits
Return a Bits that is set for a given ordinal iff both it is set in both `a` and `b`.
intersects(FixedBitSet) - Method in class io.github.jbellis.jvector.util.FixedBitSet
returns true if the sets have any elements in common
inverseOf(Bits) - Static method in interface io.github.jbellis.jvector.util.Bits
Returns a Bits that is true when `bits` is false, and false when `bits` is true
Io - Class in io.github.jbellis.jvector.disk
 
Io() - Constructor for class io.github.jbellis.jvector.disk.Io
 
io.github.jbellis.jvector.annotations - package io.github.jbellis.jvector.annotations
 
io.github.jbellis.jvector.disk - package io.github.jbellis.jvector.disk
 
io.github.jbellis.jvector.exceptions - package io.github.jbellis.jvector.exceptions
 
io.github.jbellis.jvector.graph - package io.github.jbellis.jvector.graph
 
io.github.jbellis.jvector.pq - package io.github.jbellis.jvector.pq
 
io.github.jbellis.jvector.util - package io.github.jbellis.jvector.util
 
io.github.jbellis.jvector.vector - package io.github.jbellis.jvector.vector
 
isExact() - Method in interface io.github.jbellis.jvector.graph.NodeSimilarity.ApproximateScoreFunction
 
isExact() - Method in interface io.github.jbellis.jvector.graph.NodeSimilarity.ExactScoreFunction
 
isExact() - Method in interface io.github.jbellis.jvector.graph.NodeSimilarity.ScoreFunction
 
isValueShared() - Method in class io.github.jbellis.jvector.graph.ListRandomAccessVectorValues
 
isValueShared() - Method in interface io.github.jbellis.jvector.graph.RandomAccessVectorValues
 
iterator() - Method in class io.github.jbellis.jvector.graph.ConcurrentNeighborSet
 

J

JRE_IS_64BIT - Static variable in class io.github.jbellis.jvector.util.Constants
True iff running on a 64bit JVM

K

keySet() - Method in class io.github.jbellis.jvector.util.DenseIntMap
 
KMeansPlusPlusClusterer - Class in io.github.jbellis.jvector.pq
A KMeans++ implementation for float vectors.
KMeansPlusPlusClusterer(float[][], int, BiFunction<float[], float[], Float>) - Constructor for class io.github.jbellis.jvector.pq.KMeansPlusPlusClusterer
Constructs a KMeansPlusPlusFloatClusterer with the specified number of clusters, maximum iterations, and distance function.

L

l2normalize(float[]) - Static method in class io.github.jbellis.jvector.vector.VectorUtil
Modifies the argument to be unit length, dividing by its l2-norm.
l2normalize(float[], boolean) - Static method in class io.github.jbellis.jvector.vector.VectorUtil
Modifies the argument to be unit length, dividing by its l2-norm.
length() - Method in class io.github.jbellis.jvector.util.AtomicFixedBitSet
 
length() - Method in interface io.github.jbellis.jvector.util.Bits
Returns the number of bits in this set
length() - Method in class io.github.jbellis.jvector.util.Bits.MatchAllBits
 
length() - Method in class io.github.jbellis.jvector.util.Bits.MatchNoBits
 
length() - Method in class io.github.jbellis.jvector.util.FixedBitSet
 
length() - Method in class io.github.jbellis.jvector.util.GrowableBitSet
 
length() - Method in class io.github.jbellis.jvector.util.SparseFixedBitSet
 
length() - Method in class io.github.jbellis.jvector.util.SynchronizedGrowableBitSet
 
ListRandomAccessVectorValues - Class in io.github.jbellis.jvector.graph
A List-backed implementation of the RandomAccessVectorValues interface.
ListRandomAccessVectorValues(List<float[]>, int) - Constructor for class io.github.jbellis.jvector.graph.ListRandomAccessVectorValues
Construct a new instance of ListRandomAccessVectorValues.
liveNodes() - Method in class io.github.jbellis.jvector.disk.OnDiskGraphIndex.OnDiskView
 
liveNodes() - Method in interface io.github.jbellis.jvector.graph.GraphIndex.View
Return a Bits instance indicating which nodes are live.
load(RandomAccessReader) - Method in class io.github.jbellis.jvector.graph.GraphIndexBuilder
 
load(RandomAccessReader) - Static method in class io.github.jbellis.jvector.pq.BinaryQuantization
 
load(RandomAccessReader) - Static method in class io.github.jbellis.jvector.pq.ProductQuantization
 
load(RandomAccessReader, long) - Static method in class io.github.jbellis.jvector.pq.BQVectors
 
load(RandomAccessReader, long) - Static method in class io.github.jbellis.jvector.pq.PQVectors
 
load(GraphIndex<float[]>, int) - Static method in class io.github.jbellis.jvector.disk.GraphCache
 
LOG - Static variable in class io.github.jbellis.jvector.vector.VectorizationProvider
 

M

markDeleted(int) - Method in class io.github.jbellis.jvector.graph.OnHeapGraphIndex
Mark the given node deleted.
markIncomplete() - Method in class io.github.jbellis.jvector.graph.NodeQueue
 
markNodeDeleted(int) - Method in class io.github.jbellis.jvector.graph.GraphIndexBuilder
 
MatchAllBits() - Constructor for class io.github.jbellis.jvector.util.Bits.MatchAllBits
 
MatchAllBits(int) - Constructor for class io.github.jbellis.jvector.util.Bits.MatchAllBits
 
MatchNoBits() - Constructor for class io.github.jbellis.jvector.util.Bits.MatchNoBits
 
MatchNoBits(int) - Constructor for class io.github.jbellis.jvector.util.Bits.MatchNoBits
 
MAX_ARRAY_LENGTH - Static variable in class io.github.jbellis.jvector.util.ArrayUtil
 
MAX_DEPTH - Static variable in class io.github.jbellis.jvector.util.RamUsageEstimator
Recurse only into immediate descendants.
MAX_HEAP - Enum constant in enum class io.github.jbellis.jvector.graph.NodeQueue.Order
 
maxDegree() - Method in class io.github.jbellis.jvector.disk.CachingGraphIndex
 
maxDegree() - Method in class io.github.jbellis.jvector.disk.OnDiskGraphIndex
 
maxDegree() - Method in interface io.github.jbellis.jvector.graph.GraphIndex
 
maxDegree() - Method in class io.github.jbellis.jvector.graph.OnHeapGraphIndex
 
memorySize() - Method in class io.github.jbellis.jvector.pq.ProductQuantization
 
MIN_HEAP - Enum constant in enum class io.github.jbellis.jvector.graph.NodeQueue.Order
 

N

neighbors - Variable in class io.github.jbellis.jvector.disk.GraphCache.CachedNode
 
newNoPooling(T) - Static method in class io.github.jbellis.jvector.util.PoolingSupport
Special case of not actually needing a pool (when other times you do)
newQueuePooling(int, Supplier<T>) - Static method in class io.github.jbellis.jvector.util.PoolingSupport
Recycling of objects using a MPMC queue
newThreadBased(Supplier<T>) - Static method in class io.github.jbellis.jvector.util.PoolingSupport
Creates a pool of objects intended to be used by a thread pool.
nextInt() - Method in class io.github.jbellis.jvector.graph.NodesIterator.ArrayNodesIterator
 
nextSetBit(int) - Method in class io.github.jbellis.jvector.util.AtomicFixedBitSet
 
nextSetBit(int) - Method in class io.github.jbellis.jvector.util.BitSet
Returns the index of the first set bit starting at the index specified.
nextSetBit(int) - Method in class io.github.jbellis.jvector.util.FixedBitSet
 
nextSetBit(int) - Method in class io.github.jbellis.jvector.util.GrowableBitSet
 
nextSetBit(int) - Method in class io.github.jbellis.jvector.util.SparseFixedBitSet
 
nextSetBit(int) - Method in class io.github.jbellis.jvector.util.SynchronizedGrowableBitSet
 
NO_MORE_DOCS - Static variable in class io.github.jbellis.jvector.util.DocIdSetIterator
 
node - Variable in class io.github.jbellis.jvector.graph.SearchResult.NodeScore
 
node() - Method in class io.github.jbellis.jvector.graph.NodeArray
Direct access to the internal list of node ids; provided for efficient writing of the graph
NodeArray - Class in io.github.jbellis.jvector.graph
NodeArray encodes nodeids and their scores relative to some other element (a query vector, or another graph node) as a pair of growable arrays.
NodeArray(int) - Constructor for class io.github.jbellis.jvector.graph.NodeArray
 
NodeQueue - Class in io.github.jbellis.jvector.graph
NodeQueue uses a AbstractLongHeap to store lists of nodes in a graph, represented as a node id with an associated score packed together as a sortable long, which is sorted primarily by score.
NodeQueue(AbstractLongHeap, NodeQueue.Order) - Constructor for class io.github.jbellis.jvector.graph.NodeQueue
 
NodeQueue.Order - Enum Class in io.github.jbellis.jvector.graph
 
nodesCopy() - Method in class io.github.jbellis.jvector.graph.NodeQueue
Returns a copy of the internal nodes array.
nodesCopy(NodeSimilarity.ExactScoreFunction, float) - Method in class io.github.jbellis.jvector.graph.NodeQueue
 
NodeScore(int, float) - Constructor for class io.github.jbellis.jvector.graph.SearchResult.NodeScore
 
NodeSimilarity - Interface in io.github.jbellis.jvector.graph
Encapsulates comparing node distances.
NodeSimilarity.ApproximateScoreFunction - Interface in io.github.jbellis.jvector.graph
 
NodeSimilarity.ExactScoreFunction - Interface in io.github.jbellis.jvector.graph
 
NodeSimilarity.Reranker - Interface in io.github.jbellis.jvector.graph
 
NodeSimilarity.ScoreFunction - Interface in io.github.jbellis.jvector.graph
Provides an API for encapsulating similarity to another node or vector.
NodesIterator - Class in io.github.jbellis.jvector.graph
Iterator over graph nodes that includes the size –- the total number of nodes to be iterated over.
NodesIterator(int) - Constructor for class io.github.jbellis.jvector.graph.NodesIterator
Constructor for iterator based on the size
NodesIterator.ArrayNodesIterator - Class in io.github.jbellis.jvector.graph
 
NONE - Static variable in interface io.github.jbellis.jvector.util.Bits
 
NUM_BYTES_ARRAY_HEADER - Static variable in class io.github.jbellis.jvector.util.RamUsageEstimator
Number of bytes to represent an array header (no content, but with alignments).
NUM_BYTES_OBJECT_ALIGNMENT - Static variable in class io.github.jbellis.jvector.util.RamUsageEstimator
A constant specifying the object alignment boundary inside the JVM.
NUM_BYTES_OBJECT_HEADER - Static variable in class io.github.jbellis.jvector.util.RamUsageEstimator
Number of bytes to represent an object header (no fields, no alignments).
NUM_BYTES_OBJECT_REF - Static variable in class io.github.jbellis.jvector.util.RamUsageEstimator
Number of bytes this JVM uses to represent an object reference.
NumericUtils - Class in io.github.jbellis.jvector.util
Helper APIs to encode numeric values as sortable bytes and vice-versa.

O

onClosed(PoolingSupport.Pooled<T>) - Method in class io.github.jbellis.jvector.util.PoolingSupport
Internal call used when pooled item is returned
OnDiskGraphIndex<T> - Class in io.github.jbellis.jvector.disk
 
OnDiskGraphIndex(ReaderSupplier, long) - Constructor for class io.github.jbellis.jvector.disk.OnDiskGraphIndex
 
OnDiskGraphIndex.OnDiskView - Class in io.github.jbellis.jvector.disk
 
OnDiskView(RandomAccessReader) - Constructor for class io.github.jbellis.jvector.disk.OnDiskGraphIndex.OnDiskView
 
ONE_GB - Static variable in class io.github.jbellis.jvector.util.RamUsageEstimator
One gigabyte bytes.
ONE_KB - Static variable in class io.github.jbellis.jvector.util.RamUsageEstimator
One kilobyte bytes.
ONE_MB - Static variable in class io.github.jbellis.jvector.util.RamUsageEstimator
One megabyte bytes.
OnHeapGraphIndex<T> - Class in io.github.jbellis.jvector.graph
An GraphIndex that offers concurrent access; for typical graphs you will get significant speedups in construction and searching as you add threads.
or(FixedBitSet) - Method in class io.github.jbellis.jvector.util.FixedBitSet
this = this OR other
OS_ARCH - Static variable in class io.github.jbellis.jvector.util.Constants
The value of System.getProperty("os.arch").
OS_NAME - Static variable in class io.github.jbellis.jvector.util.Constants
The value of System.getProperty("os.name").
oversize(int, int) - Static method in class io.github.jbellis.jvector.util.ArrayUtil
Returns an array size >= minTargetSize, generally over-allocating exponentially to achieve amortized linear-time cost as the array grows.

P

PanamaVectorizationProvider - Class in io.github.jbellis.jvector.vector
 
PanamaVectorizationProvider() - Constructor for class io.github.jbellis.jvector.vector.PanamaVectorizationProvider
 
parseInt(char[], int, int, int) - Static method in class io.github.jbellis.jvector.util.ArrayUtil
Parses the string argument as if it was an int value and returns the result.
PhysicalCoreExecutor - Class in io.github.jbellis.jvector.util
A fork join pool which is sized to match the number of physical cores on the machine (avoiding hyper-thread count) This is important for heavily vectorized sections of the code since it can easily saturate memory bandwidth.
pool() - Static method in class io.github.jbellis.jvector.util.PhysicalCoreExecutor
 
PoolingSupport<T> - Class in io.github.jbellis.jvector.util
Allows any object to be pooled and released when work is done.
PoolingSupport.Pooled<T> - Class in io.github.jbellis.jvector.util
Wrapper class for items in the pool These are AutoClosable and are intended to be used in a try-with-resources statement.
pop() - Method in class io.github.jbellis.jvector.graph.NodeQueue
Removes the top element and returns its node id.
pop() - Method in class io.github.jbellis.jvector.util.AbstractLongHeap
Removes and returns the least element of the PriorityQueue in log(size) time.
PQVectors - Class in io.github.jbellis.jvector.pq
 
PQVectors(ProductQuantization, byte[][]) - Constructor for class io.github.jbellis.jvector.pq.PQVectors
 
prettyPrint(GraphIndex<T>) - Static method in interface io.github.jbellis.jvector.graph.GraphIndex
 
prevSetBit(int) - Method in class io.github.jbellis.jvector.util.AtomicFixedBitSet
 
prevSetBit(int) - Method in class io.github.jbellis.jvector.util.BitSet
Returns the index of the last set bit before or on the index specified.
prevSetBit(int) - Method in class io.github.jbellis.jvector.util.FixedBitSet
 
prevSetBit(int) - Method in class io.github.jbellis.jvector.util.GrowableBitSet
 
prevSetBit(int) - Method in class io.github.jbellis.jvector.util.SparseFixedBitSet
 
prevSetBit(int) - Method in class io.github.jbellis.jvector.util.SynchronizedGrowableBitSet
 
primitiveSizes - Static variable in class io.github.jbellis.jvector.util.RamUsageEstimator
Sizes of primitive classes.
ProductQuantization - Class in io.github.jbellis.jvector.pq
Product Quantization for float vectors.
push(int, float) - Method in class io.github.jbellis.jvector.graph.NodeQueue
Adds a new graph node to the heap.
push(long) - Method in class io.github.jbellis.jvector.util.AbstractLongHeap
Adds a value to an LongHeap in log(size) time.
push(long) - Method in class io.github.jbellis.jvector.util.BoundedLongHeap
 
push(long) - Method in class io.github.jbellis.jvector.util.GrowableLongHeap
Adds a value to an LongHeap in log(size) time.
put(int, T) - Method in class io.github.jbellis.jvector.util.DenseIntMap
 

R

ramBytesUsed() - Method in class io.github.jbellis.jvector.disk.CachingGraphIndex
 
ramBytesUsed() - Method in class io.github.jbellis.jvector.disk.GraphCache
 
ramBytesUsed() - Method in class io.github.jbellis.jvector.disk.OnDiskGraphIndex
 
ramBytesUsed() - Method in class io.github.jbellis.jvector.graph.OnHeapGraphIndex
 
ramBytesUsed() - Method in class io.github.jbellis.jvector.pq.BQVectors
 
ramBytesUsed() - Method in class io.github.jbellis.jvector.pq.PQVectors
 
ramBytesUsed() - Method in interface io.github.jbellis.jvector.util.Accountable
 
ramBytesUsed() - Method in class io.github.jbellis.jvector.util.AtomicFixedBitSet
 
ramBytesUsed() - Method in class io.github.jbellis.jvector.util.FixedBitSet
 
ramBytesUsed() - Method in class io.github.jbellis.jvector.util.GrowableBitSet
 
ramBytesUsed() - Method in class io.github.jbellis.jvector.util.SparseFixedBitSet
 
ramBytesUsed() - Method in class io.github.jbellis.jvector.util.SynchronizedGrowableBitSet
 
ramBytesUsedOneNode() - Method in class io.github.jbellis.jvector.graph.OnHeapGraphIndex
 
RamUsageEstimator - Class in io.github.jbellis.jvector.util
Estimates the size (memory representation) of Java objects.
RandomAccessReader - Interface in io.github.jbellis.jvector.disk
This is a subset of DataInput, plus seek and readFully methods, which allows implementations to use more efficient options like FloatBuffer for bulk reads.
RandomAccessVectorValues<T> - Interface in io.github.jbellis.jvector.graph
Provides random access to vectors by dense ordinal.
read(int[], int, int) - Method in interface io.github.jbellis.jvector.disk.RandomAccessReader
 
read(int[], int, int) - Method in class io.github.jbellis.jvector.disk.SimpleMappedReader
 
ReaderSupplier - Interface in io.github.jbellis.jvector.disk
 
readFully(byte[]) - Method in interface io.github.jbellis.jvector.disk.RandomAccessReader
 
readFully(byte[]) - Method in class io.github.jbellis.jvector.disk.SimpleMappedReader
 
readFully(float[]) - Method in interface io.github.jbellis.jvector.disk.RandomAccessReader
 
readFully(float[]) - Method in class io.github.jbellis.jvector.disk.SimpleMappedReader
 
readFully(long[]) - Method in interface io.github.jbellis.jvector.disk.RandomAccessReader
 
readFully(long[]) - Method in class io.github.jbellis.jvector.disk.SimpleMappedReader
 
readInt() - Method in interface io.github.jbellis.jvector.disk.RandomAccessReader
 
readInt() - Method in class io.github.jbellis.jvector.disk.SimpleMappedReader
 
remove(int) - Method in class io.github.jbellis.jvector.util.DenseIntMap
 
removeDeletedNeighbors(Bits) - Method in class io.github.jbellis.jvector.graph.ConcurrentNeighborSet
 
removeIndex(int) - Method in class io.github.jbellis.jvector.graph.NodeArray
 
removeLast() - Method in class io.github.jbellis.jvector.graph.NodeArray
 
resume(int) - Method in class io.github.jbellis.jvector.graph.GraphSearcher
Experimental!
resume(int, float, float) - Method in class io.github.jbellis.jvector.graph.GraphSearcher
Experimental!
retain(Bits) - Method in class io.github.jbellis.jvector.graph.NodeArray
Retains only the elements in the current NodeArray whose corresponding index is set in the given BitSet.

S

save(DataOutput) - Method in class io.github.jbellis.jvector.graph.OnHeapGraphIndex
 
scanIsEmpty() - Method in class io.github.jbellis.jvector.util.FixedBitSet
Scans the backing store to check if all bits are clear.
score - Variable in class io.github.jbellis.jvector.graph.SearchResult.NodeScore
 
score() - Method in class io.github.jbellis.jvector.graph.NodeArray
 
score(int, int) - Method in interface io.github.jbellis.jvector.graph.NodeSimilarity
for one-off comparisons between nodes
scoreBetween(T, T) - Method in class io.github.jbellis.jvector.graph.GraphIndexBuilder
 
scoreProvider(int) - Method in interface io.github.jbellis.jvector.graph.NodeSimilarity
For when we're going to compare node1 with multiple other nodes.
search(NodeSimilarity.ScoreFunction, NodeSimilarity.Reranker, int, float, float, Bits) - Method in class io.github.jbellis.jvector.graph.GraphSearcher
 
search(NodeSimilarity.ScoreFunction, NodeSimilarity.Reranker, int, float, Bits) - Method in class io.github.jbellis.jvector.graph.GraphSearcher
 
search(NodeSimilarity.ScoreFunction, NodeSimilarity.Reranker, int, Bits) - Method in class io.github.jbellis.jvector.graph.GraphSearcher
 
search(T, int, RandomAccessVectorValues<T>, VectorEncoding, VectorSimilarityFunction, GraphIndex<T>, Bits) - Static method in class io.github.jbellis.jvector.graph.GraphSearcher
Convenience function for simple one-off searches.
SearchResult - Class in io.github.jbellis.jvector.graph
Container class for results of an ANN search, along with associated metrics about the behavior of the search.
SearchResult(SearchResult.NodeScore[], BitSet, int) - Constructor for class io.github.jbellis.jvector.graph.SearchResult
 
SearchResult.NodeScore - Class in io.github.jbellis.jvector.graph
 
seek(long) - Method in interface io.github.jbellis.jvector.disk.RandomAccessReader
 
seek(long) - Method in class io.github.jbellis.jvector.disk.SimpleMappedReader
 
set(int) - Method in class io.github.jbellis.jvector.util.AtomicFixedBitSet
 
set(int) - Method in class io.github.jbellis.jvector.util.BitSet
Set the bit at i.
set(int) - Method in class io.github.jbellis.jvector.util.FixedBitSet
 
set(int) - Method in class io.github.jbellis.jvector.util.GrowableBitSet
 
set(int) - Method in class io.github.jbellis.jvector.util.SparseFixedBitSet
Set the bit at index i.
set(int) - Method in class io.github.jbellis.jvector.util.SynchronizedGrowableBitSet
 
set(int, int) - Method in class io.github.jbellis.jvector.util.FixedBitSet
Sets a range of bits
shallowSizeOf(Object) - Static method in class io.github.jbellis.jvector.util.RamUsageEstimator
Estimates a "shallow" memory usage of the given object.
shallowSizeOf(Object[]) - Static method in class io.github.jbellis.jvector.util.RamUsageEstimator
Returns the shallow size in bytes of the Object[] object.
shallowSizeOfInstance(Class<?>) - Static method in class io.github.jbellis.jvector.util.RamUsageEstimator
Returns the shallow instance size in bytes an instance of the given class would occupy.
similarityTo(int) - Method in interface io.github.jbellis.jvector.graph.NodeSimilarity.ApproximateScoreFunction
 
similarityTo(int) - Method in interface io.github.jbellis.jvector.graph.NodeSimilarity.ExactScoreFunction
 
similarityTo(int) - Method in interface io.github.jbellis.jvector.graph.NodeSimilarity.Reranker
 
similarityTo(int) - Method in interface io.github.jbellis.jvector.graph.NodeSimilarity.ScoreFunction
 
SimpleMappedReader - Class in io.github.jbellis.jvector.disk
Simple sample implementation of RandomAccessReader.
SimpleMappedReader(String) - Constructor for class io.github.jbellis.jvector.disk.SimpleMappedReader
 
SimpleMappedReader(Path) - Constructor for class io.github.jbellis.jvector.disk.SimpleMappedReader
 
SimpleMappedReaderSupplier - Class in io.github.jbellis.jvector.disk
 
SimpleMappedReaderSupplier(Path) - Constructor for class io.github.jbellis.jvector.disk.SimpleMappedReaderSupplier
 
size - Variable in class io.github.jbellis.jvector.graph.NodeArray
 
size - Variable in class io.github.jbellis.jvector.graph.NodesIterator
 
size - Variable in class io.github.jbellis.jvector.util.AbstractLongHeap
 
size - Variable in class io.github.jbellis.jvector.util.GrowableLongHeap
 
size() - Method in class io.github.jbellis.jvector.disk.CachingGraphIndex
 
size() - Method in class io.github.jbellis.jvector.disk.OnDiskGraphIndex.OnDiskView
 
size() - Method in class io.github.jbellis.jvector.disk.OnDiskGraphIndex
 
size() - Method in class io.github.jbellis.jvector.graph.ConcurrentNeighborSet
 
size() - Method in interface io.github.jbellis.jvector.graph.GraphIndex
Returns the number of nodes in the graph
size() - Method in interface io.github.jbellis.jvector.graph.GraphIndex.View
 
size() - Method in class io.github.jbellis.jvector.graph.ListRandomAccessVectorValues
 
size() - Method in class io.github.jbellis.jvector.graph.NodeArray
 
size() - Method in class io.github.jbellis.jvector.graph.NodeQueue
 
size() - Method in class io.github.jbellis.jvector.graph.NodesIterator
The number of elements in this iterator *
size() - Method in class io.github.jbellis.jvector.graph.OnHeapGraphIndex
 
size() - Method in interface io.github.jbellis.jvector.graph.RandomAccessVectorValues
Return the number of vector values.
size() - Method in class io.github.jbellis.jvector.util.AbstractLongHeap
Returns the number of elements currently stored in the PriorityQueue.
size() - Method in class io.github.jbellis.jvector.util.DenseIntMap
 
sizeOf(boolean[]) - Static method in class io.github.jbellis.jvector.util.RamUsageEstimator
Returns the size in bytes of the boolean[] object.
sizeOf(byte[]) - Static method in class io.github.jbellis.jvector.util.RamUsageEstimator
Returns the size in bytes of the byte[] object.
sizeOf(char[]) - Static method in class io.github.jbellis.jvector.util.RamUsageEstimator
Returns the size in bytes of the char[] object.
sizeOf(double[]) - Static method in class io.github.jbellis.jvector.util.RamUsageEstimator
Returns the size in bytes of the double[] object.
sizeOf(float[]) - Static method in class io.github.jbellis.jvector.util.RamUsageEstimator
Returns the size in bytes of the float[] object.
sizeOf(int[]) - Static method in class io.github.jbellis.jvector.util.RamUsageEstimator
Returns the size in bytes of the int[] object.
sizeOf(long[]) - Static method in class io.github.jbellis.jvector.util.RamUsageEstimator
Returns the size in bytes of the long[] object.
sizeOf(short[]) - Static method in class io.github.jbellis.jvector.util.RamUsageEstimator
Returns the size in bytes of the short[] object.
sizeOf(Integer) - Static method in class io.github.jbellis.jvector.util.RamUsageEstimator
Return the shallow size of the provided Integer object.
sizeOf(Long) - Static method in class io.github.jbellis.jvector.util.RamUsageEstimator
Return the shallow size of the provided Long object.
sizeOf(String) - Static method in class io.github.jbellis.jvector.util.RamUsageEstimator
Returns the size in bytes of the String object.
sizeOf(String[]) - Static method in class io.github.jbellis.jvector.util.RamUsageEstimator
Returns the size in bytes of the String[] object.
sortableFloatBits(int) - Static method in class io.github.jbellis.jvector.util.NumericUtils
Converts IEEE 754 representation of a float to sortable order (or back to the original)
sortableIntToFloat(int) - Static method in class io.github.jbellis.jvector.util.NumericUtils
Converts a sortable int back to a float.
SparseFixedBitSet - Class in io.github.jbellis.jvector.util
A bit set that only stores longs that have at least one bit which is set.
SparseFixedBitSet(int) - Constructor for class io.github.jbellis.jvector.util.SparseFixedBitSet
Create a SparseFixedBitSet that can contain bits between 0 included and length excluded.
squareDistance(byte[], byte[]) - Static method in class io.github.jbellis.jvector.vector.VectorUtil
Returns the sum of squared differences of the two vectors.
squareDistance(byte[], byte[]) - Method in interface io.github.jbellis.jvector.vector.VectorUtilSupport
Returns the sum of squared differences of the two byte vectors.
squareDistance(float[], float[]) - Static method in class io.github.jbellis.jvector.vector.VectorUtil
Returns the sum of squared differences of the two vectors.
squareDistance(float[], float[]) - Method in interface io.github.jbellis.jvector.vector.VectorUtilSupport
Returns the sum of squared differences of the two vectors.
squareDistance(float[], int, float[], int, int) - Static method in class io.github.jbellis.jvector.vector.VectorUtil
Returns the sum of squared differences of the two vectors, or subvectors, of the given length.
squareDistance(float[], int, float[], int, int) - Method in interface io.github.jbellis.jvector.vector.VectorUtilSupport
Calculates the sum of squared differences of float arrays of differing sizes, or a subset of the data
stream() - Method in class io.github.jbellis.jvector.util.PoolingSupport
This call returns all values what are in the pool, for the case of work spread across many pooled objects then processed after they are finished.
sub(float[], float[]) - Static method in class io.github.jbellis.jvector.vector.VectorUtil
 
sub(float[], float[]) - Method in interface io.github.jbellis.jvector.vector.VectorUtilSupport
 
subInPlace(float[], float[]) - Static method in class io.github.jbellis.jvector.vector.VectorUtil
 
subInPlace(float[], float[]) - Method in interface io.github.jbellis.jvector.vector.VectorUtilSupport
Subtracts v2 from v1, in place (v1 will be modified)
submit(Supplier<T>) - Method in class io.github.jbellis.jvector.util.PhysicalCoreExecutor
 
sum(float[]) - Static method in class io.github.jbellis.jvector.vector.VectorUtil
 
sum(float[]) - Method in interface io.github.jbellis.jvector.vector.VectorUtilSupport
return the sum of the components of the vector
sum(List<float[]>) - Static method in class io.github.jbellis.jvector.vector.VectorUtil
 
sum(List<float[]>) - Method in interface io.github.jbellis.jvector.vector.VectorUtilSupport
returns the sum of the given vectors.
SynchronizedGrowableBitSet - Class in io.github.jbellis.jvector.util
A thread-safe BitSet implementation that grows as needed to accommodate set(index) calls.
SynchronizedGrowableBitSet(int) - Constructor for class io.github.jbellis.jvector.util.SynchronizedGrowableBitSet
 
SynchronizedGrowableBitSet(BitSet) - Constructor for class io.github.jbellis.jvector.util.SynchronizedGrowableBitSet
 

T

ThreadInterruptedException - Exception Class in io.github.jbellis.jvector.exceptions
 
ThreadInterruptedException(InterruptedException) - Constructor for exception class io.github.jbellis.jvector.exceptions.ThreadInterruptedException
 
top() - Method in class io.github.jbellis.jvector.util.AbstractLongHeap
Returns the least element of the LongHeap in constant time.
topNode() - Method in class io.github.jbellis.jvector.graph.NodeQueue
Returns the top element's node id.
topScore() - Method in class io.github.jbellis.jvector.graph.NodeQueue
Returns the top element's node score.
toString() - Method in class io.github.jbellis.jvector.graph.NodeArray
 
toString() - Method in class io.github.jbellis.jvector.graph.NodeQueue
 
toString() - Method in class io.github.jbellis.jvector.graph.OnHeapGraphIndex
 
toString() - Method in class io.github.jbellis.jvector.pq.BinaryQuantization
 
toString() - Method in class io.github.jbellis.jvector.pq.ProductQuantization
 
toString() - Method in class io.github.jbellis.jvector.util.SparseFixedBitSet
 

U

unionCount(FixedBitSet, FixedBitSet) - Static method in class io.github.jbellis.jvector.util.FixedBitSet
Returns the popcount or cardinality of the union of the two sets.
UNKNOWN_DEFAULT_RAM_BYTES_USED - Static variable in class io.github.jbellis.jvector.util.RamUsageEstimator
Approximate memory usage that we assign to all unknown objects - this maps roughly to a few primitive fields and a couple short String-s.
upHeap(int) - Method in class io.github.jbellis.jvector.util.AbstractLongHeap
 

V

valueOf(String) - Static method in enum class io.github.jbellis.jvector.graph.NodeQueue.Order
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class io.github.jbellis.jvector.vector.VectorEncoding
Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class io.github.jbellis.jvector.vector.VectorSimilarityFunction
Returns the enum constant of this class with the specified name.
values() - Static method in enum class io.github.jbellis.jvector.graph.NodeQueue.Order
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class io.github.jbellis.jvector.vector.VectorEncoding
Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class io.github.jbellis.jvector.vector.VectorSimilarityFunction
Returns an array containing the constants of this enum class, in the order they are declared.
vector - Variable in class io.github.jbellis.jvector.disk.GraphCache.CachedNode
 
VectorCompressor<T> - Interface in io.github.jbellis.jvector.pq
Interface for vector compression.
VectorEncoding - Enum Class in io.github.jbellis.jvector.vector
The numeric datatype of the vector values.
VectorizationProvider - Class in io.github.jbellis.jvector.vector
A provider of vectorization implementations.
VectorizationProvider() - Constructor for class io.github.jbellis.jvector.vector.VectorizationProvider
 
VectorSimilarityFunction - Enum Class in io.github.jbellis.jvector.vector
Vector similarity function; used in search to return top K most similar vectors to a target vector.
VectorUtil - Class in io.github.jbellis.jvector.vector
Utilities for computations with numeric arrays
VectorUtilSupport - Interface in io.github.jbellis.jvector.vector
Interface for implementations of VectorUtil support.
vectorValue(int) - Method in class io.github.jbellis.jvector.graph.ListRandomAccessVectorValues
 
vectorValue(int) - Method in interface io.github.jbellis.jvector.graph.RandomAccessVectorValues
Return the vector value indexed at the given ordinal.
VH_BE_DOUBLE - Static variable in class io.github.jbellis.jvector.util.BitUtil
Deprecated.
Better use little endian unless it is needed for backwards compatibility.
VH_BE_FLOAT - Static variable in class io.github.jbellis.jvector.util.BitUtil
Deprecated.
Better use little endian unless it is needed for backwards compatibility.
VH_BE_INT - Static variable in class io.github.jbellis.jvector.util.BitUtil
Deprecated.
Better use little endian unless it is needed for backwards compatibility.
VH_BE_LONG - Static variable in class io.github.jbellis.jvector.util.BitUtil
Deprecated.
Better use little endian unless it is needed for backwards compatibility.
VH_BE_SHORT - Static variable in class io.github.jbellis.jvector.util.BitUtil
Deprecated.
Better use little endian unless it is needed for backwards compatibility.
VisibleForTesting - Annotation Interface in io.github.jbellis.jvector.annotations
Methods or classes marked VisibleForTesting are intended for internal use only and may change without warning, regardless of their visibility.

W

withConcurrentUpdates() - Method in class io.github.jbellis.jvector.graph.GraphSearcher.Builder
 
write(GraphIndex<T>, RandomAccessVectorValues<T>, DataOutput) - Static method in class io.github.jbellis.jvector.disk.OnDiskGraphIndex
 
write(GraphIndex<T>, RandomAccessVectorValues<T>, Map<Integer, Integer>, DataOutput) - Static method in class io.github.jbellis.jvector.disk.OnDiskGraphIndex
 
write(DataOutput) - Method in class io.github.jbellis.jvector.pq.BinaryQuantization
 
write(DataOutput) - Method in class io.github.jbellis.jvector.pq.BQVectors
 
write(DataOutput) - Method in interface io.github.jbellis.jvector.pq.CompressedVectors
write the compressed vectors to the given DataOutput
write(DataOutput) - Method in class io.github.jbellis.jvector.pq.PQVectors
 
write(DataOutput) - Method in class io.github.jbellis.jvector.pq.ProductQuantization
 
write(DataOutput) - Method in interface io.github.jbellis.jvector.pq.VectorCompressor
 
writeFloats(DataOutput, float[]) - Static method in class io.github.jbellis.jvector.disk.Io
 

X

xor(FixedBitSet) - Method in class io.github.jbellis.jvector.util.FixedBitSet
this = this XOR other
A B C D E F G H I J K L M N O P R S T U V W X 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form