# Uses of Package
org.apache.lucene.util.hnsw

- Packages that use org.apache.lucene.util.hnsw
  Package | Description
  --- | ---
  org.apache.lucene.codecs | Codecs API: API for customization of the encoding and structure of the index.
  org.apache.lucene.codecs.lucene95 | Lucene 9.5 file format.
  org.apache.lucene.codecs.lucene99 | Lucene 9.9 file format.
  org.apache.lucene.search | Code to search indices.
  org.apache.lucene.search.knn | Classes related to vector search: knn and vector fields.
  org.apache.lucene.util.hnsw | Navigable Small-World graph, nominally Hierarchical but currently only has a single layer.
  org.apache.lucene.util.quantization | Provides quantization methods for scaling vector values to smaller data types and possibly fewer dimensions

- Classes in org.apache.lucene.util.hnsw used by org.apache.lucene.codecs
  Class | Description
  --- | ---
  CloseableRandomVectorScorerSupplier | A supplier that creates `RandomVectorScorer` from an ordinal.
  HnswGraph | Hierarchical Navigable Small World graph.
  RandomVectorScorer | A `RandomVectorScorer` for scoring random nodes in batches against an abstract query.

- Classes in org.apache.lucene.util.hnsw used by org.apache.lucene.codecs.lucene95
  Class | Description
  --- | ---
  RandomAccessVectorValues | Provides random access to vectors by dense ordinal.

- Classes in org.apache.lucene.util.hnsw used by org.apache.lucene.codecs.lucene99
  Class | Description
  --- | ---
  CloseableRandomVectorScorerSupplier | A supplier that creates `RandomVectorScorer` from an ordinal.
  HnswGraph | Hierarchical Navigable Small World graph.
  RandomAccessVectorValues | Provides random access to vectors by dense ordinal.
  RandomVectorScorer | A `RandomVectorScorer` for scoring random nodes in batches against an abstract query.

- Classes in org.apache.lucene.util.hnsw used by org.apache.lucene.search
  Class | Description
  --- | ---
  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.

- Classes in org.apache.lucene.util.hnsw used by org.apache.lucene.search.knn
  Class | Description
  --- | ---
  BlockingFloatHeap | A blocking bounded min heap that stores floats.

- Classes in org.apache.lucene.util.hnsw used by org.apache.lucene.util.hnsw
  Class | Description
  --- | ---
  HnswBuilder | Interface for builder building the `OnHeapHnswGraph`
  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 | 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.
  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.
  RandomAccessVectorValues | Provides random access to vectors by dense ordinal.
  RandomVectorScorer | A `RandomVectorScorer` for scoring random nodes in batches against an abstract query.
  RandomVectorScorerSupplier | A supplier that creates `RandomVectorScorer` from an ordinal.

- Classes in org.apache.lucene.util.hnsw used by org.apache.lucene.util.quantization
  Class | Description
  --- | ---
  RandomAccessVectorValues | Provides random access to vectors by dense ordinal.
  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.