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.
-
Class Summary Class Description HnswGraph Hierarchical Navigable Small World graph.HnswGraph.NodesIterator Iterator over the graph nodes on a certain level, Iterator also provides the size – the total number of nodes to be iterated over.HnswGraphBuilder<T> Builder for HNSW graph.HnswGraphSearcher<T> Searches an HNSW graph to find nearest neighbors to a query vector.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 aLongHeap
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 AnHnswGraph
where all nodes and connections are held in memory.