# Package org.apache.lucene.codecs.hnsw

HNSW vector helper classes. The classes in this package provide a scoring and storing mechanism for vectors stored in a flat file. This allows for HNSW formats to be extended with other flat storage formats or scoring without significant changes to the HNSW code. Some examples for scoring include `ScalarQuantizedVectorScorer` and `DefaultFlatVectorScorer`. Some examples for storing include `Lucene99FlatVectorsFormat` and `Lucene99ScalarQuantizedVectorsFormat`.

- Interface Summary
  Interface | Description
  --- | ---
  FlatVectorsScorer | Provides mechanisms to score vectors that are stored in a flat file The purpose of this class is for providing flexibility to the codec utilizing the vectors
  HnswGraphProvider | An interface that provides an HNSW graph.

- Class Summary
  Class | Description
  --- | ---
  DefaultFlatVectorScorer | Default implementation of `FlatVectorsScorer`.
  FlatFieldVectorsWriter<T> | Vectors' writer for a field
  FlatVectorScorerUtil | Utilities for `FlatVectorsScorer`.
  FlatVectorsFormat | Encodes/decodes per-document vectors and provides a scoring interface for the flat stored vectors
  FlatVectorsReader | Reads vectors from an index.
  FlatVectorsWriter | Vectors' writer for a field that allows additional indexing logic to be implemented by the caller
  ScalarQuantizedVectorScorer | Default scalar quantized implementation of `FlatVectorsScorer`.
  ScalarQuantizedVectorScorer.ScalarQuantizedRandomVectorScorerSupplier | Quantized vector scorer supplier