Package org.apache.lucene.util.hnsw

## Interface RandomVectorScorerSupplier

- All Known Subinterfaces:
    `CloseableRandomVectorScorerSupplier`
  All Known Implementing Classes:
    `RandomVectorScorerSupplier.ByteScoringSupplier`, `RandomVectorScorerSupplier.FloatScoringSupplier`, `ScalarQuantizedRandomVectorScorerSupplier`

      public interface RandomVectorScorerSupplier

  A supplier that creates `RandomVectorScorer` from an ordinal.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface | Description
    --- | --- | ---
    `static class` | `RandomVectorScorerSupplier.ByteScoringSupplier` | RandomVectorScorerSupplier for bytes vector
    `static class` | `RandomVectorScorerSupplier.FloatScoringSupplier` | RandomVectorScorerSupplier for Float vector

  - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `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.
    `static RandomVectorScorerSupplier` | `createBytes​(RandomAccessVectorValues<byte[]> vectors, VectorSimilarityFunction similarityFunction)` | Creates a `RandomVectorScorerSupplier` to compare byte vectors.
    `static RandomVectorScorerSupplier` | `createFloats​(RandomAccessVectorValues<float[]> vectors, VectorSimilarityFunction similarityFunction)` | Creates a `RandomVectorScorerSupplier` to compare float vectors.
    `RandomVectorScorer` | `scorer​(int ord)` | This creates a `RandomVectorScorer` for scoring random nodes in batches against the given ordinal.

- - ### Method Detail

    - #### scorer

          RandomVectorScorer scorer​(int ord)
                             throws IOException

      This creates a `RandomVectorScorer` for scoring random nodes in batches against the given ordinal.
      Parameters:
        `ord` - the ordinal of the node to compare
      Returns:
        a new `RandomVectorScorer`
      Throws:
        `IOException`

    - #### copy

          RandomVectorScorerSupplier copy()
                                   throws IOException

      Make a copy of the supplier, which will copy the underlying vectorValues so the copy is safe to be used in other threads.
      Throws:
        `IOException`

    - #### createFloats

          static RandomVectorScorerSupplier createFloats​(RandomAccessVectorValues<float[]> vectors,
                                                         VectorSimilarityFunction similarityFunction)
                                                  throws IOException

      Creates a `RandomVectorScorerSupplier` to compare float vectors. The vectorValues passed in will be copied and the original copy will not be used.
      Parameters:
        `vectors` - the underlying storage for vectors
        `similarityFunction` - the similarity function to score vectors
      Throws:
        `IOException`

    - #### createBytes

          static RandomVectorScorerSupplier createBytes​(RandomAccessVectorValues<byte[]> vectors,
                                                        VectorSimilarityFunction similarityFunction)
                                                 throws IOException

      Creates a `RandomVectorScorerSupplier` to compare byte vectors. The vectorValues passed in will be copied and the original copy will not be used.
      Parameters:
        `vectors` - the underlying storage for vectors
        `similarityFunction` - the similarity function to score vectors
      Throws:
        `IOException`