# Package org.apache.lucene.util.hnsw

package org.apache.lucene.util.hnsw
Navigable Small-World graph, nominally Hierarchical but currently only has a single layer. Provides efficient approximate nearest neighbor search for high dimensional vectors.

Related Packages
Package
Description
org.apache.lucene.util
Some utility classes.
Class
Description
BlockingFloatHeap
A blocking bounded min heap that stores floats.
CloseableRandomVectorScorerSupplier
A supplier that creates `RandomVectorScorer` from an ordinal.
ConcurrentHnswMerger
This merger merges graph in a concurrent manner, by using `HnswConcurrentMergeBuilder`
FloatHeap
A bounded min heap that stores floats.
HnswBuilder
Interface for builder building the `OnHeapHnswGraph`
HnswConcurrentMergeBuilder
A graph builder that manages multiple workers, it only supports adding the whole graph all at once.
HnswGraph
Hierarchical Navigable Small World graph.
HnswGraph.ArrayNodesIterator
NodesIterator that accepts nodes as an integer array.
HnswGraph.CollectionNodesIterator
Nodes iterator based on set representation of nodes.
HnswGraph.NodesIterator
Iterator over the graph nodes on a certain level.
HnswGraphBuilder
Builder for HNSW graph.
HnswGraphBuilder.GraphBuilderKnnCollector
A restricted, specialized knnCollector that can be used when building a graph.
HnswGraphMerger
Abstraction of merging multiple graphs into one on-heap graph
HnswGraphSearcher
Searches an HNSW graph to find nearest neighbors to a query vector.
HnswUtil
Utilities for use in tests involving HNSW graphs
IncrementalHnswGraphMerger
This selects the biggest Hnsw graph from the provided merge state and initializes a new HnswGraphBuilder with that graph as a starting point.
InitializedHnswGraphBuilder
This creates a graph builder that is initialized with the provided HnswGraph.
IntToIntFunction
Native int to int function
NeighborArray
NeighborArray encodes the neighbors of a node and their mutual scores in the HNSW graph as a pair of growable arrays.
NeighborQueue
NeighborQueue uses a `LongHeap` to store lists of arcs in an HNSW graph, represented as a neighbor node id with an associated score packed together as a sortable long, which is sorted primarily by score.
OnHeapHnswGraph
An `HnswGraph` where all nodes and connections are held in memory.
OrdinalTranslatedKnnCollector
Wraps a provided KnnCollector object, translating the provided vectorId ordinal to a documentId
RandomVectorScorer
A `RandomVectorScorer` for scoring random nodes in batches against an abstract query.
RandomVectorScorer.AbstractRandomVectorScorer
Creates a default scorer for random access vectors.
RandomVectorScorerSupplier
A supplier that creates `RandomVectorScorer` from an ordinal.