## Uses of Interface
org.apache.lucene.util.hnsw.RandomVectorScorerSupplier

- Packages that use RandomVectorScorerSupplier
  Package | Description
  --- | ---
  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

- - ### Uses of RandomVectorScorerSupplier in org.apache.lucene.util.hnsw

    Subinterfaces of RandomVectorScorerSupplier in org.apache.lucene.util.hnsw
    Modifier and Type | Interface | Description
    --- | --- | ---
    `interface` | `CloseableRandomVectorScorerSupplier` | A supplier that creates `RandomVectorScorer` from an ordinal.

    Classes in org.apache.lucene.util.hnsw that implement RandomVectorScorerSupplier
    Modifier and Type | Class | Description
    --- | --- | ---
    `static class` | `RandomVectorScorerSupplier.ByteScoringSupplier` | RandomVectorScorerSupplier for bytes vector
    `static class` | `RandomVectorScorerSupplier.FloatScoringSupplier` | RandomVectorScorerSupplier for Float vector

    Fields in org.apache.lucene.util.hnsw declared as RandomVectorScorerSupplier
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected RandomVectorScorerSupplier` | IncrementalHnswGraphMerger.`scorerSupplier` |

    Methods in org.apache.lucene.util.hnsw that return RandomVectorScorerSupplier
    Modifier and Type | Method | Description
    --- | --- | ---
    `RandomVectorScorerSupplier` | RandomVectorScorerSupplier.ByteScoringSupplier.`copy()` |
    `RandomVectorScorerSupplier` | RandomVectorScorerSupplier.`copy()` | Make a copy of the supplier, which will copy the underlying vectorValues so the copy is safe to be used in other threads.
    `RandomVectorScorerSupplier` | RandomVectorScorerSupplier.FloatScoringSupplier.`copy()` |
    `static RandomVectorScorerSupplier` | RandomVectorScorerSupplier.`createBytes​(RandomAccessVectorValues<byte[]> vectors, VectorSimilarityFunction similarityFunction)` | Creates a `RandomVectorScorerSupplier` to compare byte vectors.
    `static RandomVectorScorerSupplier` | RandomVectorScorerSupplier.`createFloats​(RandomAccessVectorValues<float[]> vectors, VectorSimilarityFunction similarityFunction)` | Creates a `RandomVectorScorerSupplier` to compare float vectors.

    Methods in org.apache.lucene.util.hnsw with parameters of type RandomVectorScorerSupplier
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | NeighborArray.`addAndEnsureDiversity​(int newNode, float newScore, int nodeId, RandomVectorScorerSupplier scorerSupplier)` | In addition to `NeighborArray.addOutOfOrder(int, float)`, this function will also remove the least-diverse node if the node array is full after insertion
    `static HnswGraphBuilder` | HnswGraphBuilder.`create​(RandomVectorScorerSupplier scorerSupplier, int M, int beamWidth, long seed)` |
    `static HnswGraphBuilder` | HnswGraphBuilder.`create​(RandomVectorScorerSupplier scorerSupplier, int M, int beamWidth, long seed, int graphSize)` |
    `static InitializedHnswGraphBuilder` | InitializedHnswGraphBuilder.`fromGraph​(RandomVectorScorerSupplier scorerSupplier, int M, int beamWidth, long seed, HnswGraph initializerGraph, int[] newOrdMap, BitSet initializedNodes, int totalNumberOfVectors)` | Create a new HnswGraphBuilder that is initialized with the provided HnswGraph.

    Constructors in org.apache.lucene.util.hnsw with parameters of type RandomVectorScorerSupplier
    Constructor | Description
    --- | ---
    `ConcurrentHnswMerger​(FieldInfo fieldInfo, RandomVectorScorerSupplier scorerSupplier, int M, int beamWidth, TaskExecutor taskExecutor, int numWorker)` |
    `HnswConcurrentMergeBuilder​(TaskExecutor taskExecutor, int numWorker, RandomVectorScorerSupplier scorerSupplier, int M, int beamWidth, OnHeapHnswGraph hnsw, BitSet initializedNodes)` |
    `HnswGraphBuilder​(RandomVectorScorerSupplier scorerSupplier, int M, int beamWidth, long seed, int graphSize)` | 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.
    `HnswGraphBuilder​(RandomVectorScorerSupplier scorerSupplier, int M, int beamWidth, long seed, OnHeapHnswGraph hnsw)` |
    `HnswGraphBuilder​(RandomVectorScorerSupplier scorerSupplier, int M, int beamWidth, long seed, OnHeapHnswGraph hnsw, HnswGraphSearcher graphSearcher)` | 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.
    `IncrementalHnswGraphMerger​(FieldInfo fieldInfo, RandomVectorScorerSupplier scorerSupplier, int M, int beamWidth)` |
    `InitializedHnswGraphBuilder​(RandomVectorScorerSupplier scorerSupplier, int M, int beamWidth, long seed, OnHeapHnswGraph initializedGraph, BitSet initializedNodes)` |

  - ### Uses of RandomVectorScorerSupplier in org.apache.lucene.util.quantization

    Classes in org.apache.lucene.util.quantization that implement RandomVectorScorerSupplier
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `ScalarQuantizedRandomVectorScorerSupplier` | Quantized vector scorer supplier

    Methods in org.apache.lucene.util.quantization that return RandomVectorScorerSupplier
    Modifier and Type | Method | Description
    --- | --- | ---
    `RandomVectorScorerSupplier` | ScalarQuantizedRandomVectorScorerSupplier.`copy()` |