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

- Packages that use RandomVectorScorerSupplier
  Package | Description
  --- | ---
  org.apache.lucene.codecs.hnsw | HNSW vector helper classes.
  org.apache.lucene.codecs.lucene99 | Lucene 9.9 file format.
  org.apache.lucene.util.hnsw | Navigable Small-World graph, nominally Hierarchical but currently only has a single layer.

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

    Classes in org.apache.lucene.codecs.hnsw that implement RandomVectorScorerSupplier
    Modifier and Type | Class | Description
    --- | --- | ---
    `static class` | `ScalarQuantizedVectorScorer.ScalarQuantizedRandomVectorScorerSupplier` | Quantized vector scorer supplier

    Methods in org.apache.lucene.codecs.hnsw that return RandomVectorScorerSupplier
    Modifier and Type | Method | Description
    --- | --- | ---
    `RandomVectorScorerSupplier` | ScalarQuantizedVectorScorer.ScalarQuantizedRandomVectorScorerSupplier.`copy()` |
    `RandomVectorScorerSupplier` | DefaultFlatVectorScorer.`getRandomVectorScorerSupplier​(VectorSimilarityFunction similarityFunction, RandomAccessVectorValues vectorValues)` |
    `RandomVectorScorerSupplier` | FlatVectorsScorer.`getRandomVectorScorerSupplier​(VectorSimilarityFunction similarityFunction, RandomAccessVectorValues vectorValues)` | Returns a `RandomVectorScorerSupplier` that can be used to score vectors
    `RandomVectorScorerSupplier` | ScalarQuantizedVectorScorer.`getRandomVectorScorerSupplier​(VectorSimilarityFunction similarityFunction, RandomAccessVectorValues vectorValues)` |

  - ### Uses of RandomVectorScorerSupplier in org.apache.lucene.codecs.lucene99

    Methods in org.apache.lucene.codecs.lucene99 that return RandomVectorScorerSupplier
    Modifier and Type | Method | Description
    --- | --- | ---
    `RandomVectorScorerSupplier` | Lucene99ScalarQuantizedVectorScorer.`getRandomVectorScorerSupplier​(VectorSimilarityFunction similarityFunction, RandomAccessVectorValues vectorValues)` |

  - ### 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.

    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.`copy()` | Make a copy of the supplier, which will copy the underlying vectorValues so the copy is safe to be used in other threads.

    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)` |