Class Similarity.SimScorer

  • Enclosing class:
    Similarity

    public abstract static class Similarity.SimScorer
    extends Object
    Stores the weight for a query across the indexed collection. This abstract implementation is empty; descendants of Similarity should subclass SimWeight and define the statistics they require in the subclass. Examples include idf, average field length, etc.
    • Constructor Detail

      • SimScorer

        protected SimScorer()
        Sole constructor. (For invocation by subclass constructors.)
    • Method Detail

      • score

        public abstract float score​(float freq,
                                    long norm)
        Score a single document. freq is the document-term sloppy frequency and must be finite and positive. norm is the encoded normalization factor as computed by Similarity.computeNorm(FieldInvertState) at index time, or 1 if norms are disabled. norm is never 0.

        Score must not decrease when freq increases, ie. if freq1 > freq2, then score(freq1, norm) >= score(freq2, norm) for any value of norm that may be produced by Similarity.computeNorm(FieldInvertState).

        Score must not increase when the unsigned norm increases, ie. if Long.compareUnsigned(norm1, norm2) > 0 then score(freq, norm1) <= score(freq, norm2) for any legal freq.

        As a consequence, the maximum score that this scorer can produce is bound by score(Float.MAX_VALUE, 1).

        Parameters:
        freq - sloppy term frequency, must be finite and positive
        norm - encoded normalization factor or 1 if norms are disabled
        Returns:
        document's score