Interface RandomVectorScorer

All Known Implementing Classes:
RandomVectorScorer.AbstractRandomVectorScorer, ScalarQuantizedRandomVectorScorer

public interface RandomVectorScorer
A RandomVectorScorer for scoring random nodes in batches against an abstract query.
  • Method Details

    • score

      float score(int node) throws IOException
      Returns the score between the query and the provided node.
      Parameters:
      node - a random node in the graph
      Returns:
      the computed score
      Throws:
      IOException
    • maxOrd

      int maxOrd()
      Returns:
      the maximum possible ordinal for this scorer
    • ordToDoc

      default int ordToDoc(int ord)
      Translates vector ordinal to the correct document ID. By default, this is an identity function.
      Parameters:
      ord - the vector ordinal
      Returns:
      the document Id for that vector ordinal
    • getAcceptOrds

      default Bits getAcceptOrds(Bits acceptDocs)
      Returns the Bits representing live documents. By default, this is an identity function.
      Parameters:
      acceptDocs - the accept docs
      Returns:
      the accept docs
    • createFloats

      static RandomVectorScorer createFloats(RandomAccessVectorValues<float[]> vectors, VectorSimilarityFunction similarityFunction, float[] query)
      Creates a default scorer for float vectors.

      WARNING: The RandomAccessVectorValues given can contain stateful buffers. Avoid using it after calling this function. If you plan to use it again outside the returned RandomVectorScorer, think about passing a copied version (RandomAccessVectorValues.copy()).

      Parameters:
      vectors - the underlying storage for vectors
      similarityFunction - the similarity function to score vectors
      query - the actual query
    • createBytes

      static RandomVectorScorer createBytes(RandomAccessVectorValues<byte[]> vectors, VectorSimilarityFunction similarityFunction, byte[] query)
      Creates a default scorer for byte vectors.

      WARNING: The RandomAccessVectorValues given can contain stateful buffers. Avoid using it after calling this function. If you plan to use it again outside the returned RandomVectorScorer, think about passing a copied version (RandomAccessVectorValues.copy()).

      Parameters:
      vectors - the underlying storage for vectors
      similarityFunction - the similarity function to use to score vectors
      query - the actual query