org.apache.lucene.benchmark.quality

## Class QualityStats

- java.lang.Object
- - org.apache.lucene.benchmark.quality.QualityStats

-     public class QualityStats
      extends Object

  Results of quality benchmark run for a single query or for a set of queries.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `QualityStats.RecallPoint` A certain rank in which a relevant doc was found.

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `MAX_POINTS` Number of points for which precision is computed.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `QualityStats(double maxGoodPoints, long searchTime)` Construct a QualityStats object with anticipated maximal number of relevant hits.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addResult(int n, boolean isRelevant, long docNameExtractTime)` Add a (possibly relevant) doc.
    `static QualityStats` | `average(QualityStats[] stats)` Create a QualityStats object that is the average of the input QualityStats objects.
    `double` | `getAvp()` Return the average precision at recall points.
    `long` | `getDocNamesExtractTime()` Returns the time it took to extract doc names for judging the measured query, in milliseconds.
    `double` | `getMaxGoodPoints()` Returns the maximal number of good points.
    `double` | `getMRR()` Returns the Mean reciprocal rank over the queries or RR for a single query.
    `double` | `getNumGoodPoints()` Returns the number of good points (only relevant points).
    `double` | `getNumPoints()` Returns the number of points (both relevant and irrelevant points).
    `double` | `getPrecisionAt(int n)` Return the precision at rank n: |{relevant hits within first `n` hits}| / `n`.
    `double` | `getRecall()` Return the recall: |{relevant hits found}| / |{relevant hits existing}|.
    `QualityStats.RecallPoint[]` | `getRecallPoints()` Returns the recallPoints.
    `long` | `getSearchTime()` Returns the search time in milliseconds for the measured query.
    `void` | `log(String title, int paddLines, PrintWriter logger, String prefix)` Log information on this QualityStats object.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### MAX_POINTS

          public static final int MAX_POINTS

      Number of points for which precision is computed.
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### QualityStats

          public QualityStats(double maxGoodPoints,
                              long searchTime)

      Construct a QualityStats object with anticipated maximal number of relevant hits.
      Parameters:
        `maxGoodPoints` - maximal possible relevant hits.

  - ### Method Detail

    - #### addResult

          public void addResult(int n,
                                boolean isRelevant,
                                long docNameExtractTime)

      Add a (possibly relevant) doc.
      Parameters:
        `n` - rank of the added doc (its ordinal position within the query results).
        `isRelevant` - true if the added doc is relevant, false otherwise.

    - #### getPrecisionAt

          public double getPrecisionAt(int n)

      Return the precision at rank n: |{relevant hits within first `n` hits}| / `n`.
      Parameters:
        `n` - requested precision point, must be at least 1 and at most `MAX_POINTS`.

    - #### getAvp

          public double getAvp()

      Return the average precision at recall points.

    - #### getRecall

          public double getRecall()

      Return the recall: |{relevant hits found}| / |{relevant hits existing}|.

    - #### log

          public void log(String title,
                          int paddLines,
                          PrintWriter logger,
                          String prefix)

      Log information on this QualityStats object.
      Parameters:
        `logger` - Logger.
        `prefix` - prefix before each log line.

    - #### average

          public static QualityStats average(QualityStats[] stats)

      Create a QualityStats object that is the average of the input QualityStats objects.
      Parameters:
        `stats` - array of input stats to be averaged.
      Returns:
        an average over the input stats.

    - #### getDocNamesExtractTime

          public long getDocNamesExtractTime()

      Returns the time it took to extract doc names for judging the measured query, in milliseconds.

    - #### getMaxGoodPoints

          public double getMaxGoodPoints()

      Returns the maximal number of good points. This is the number of relevant docs known by the judge for the measured query.

    - #### getNumGoodPoints

          public double getNumGoodPoints()

      Returns the number of good points (only relevant points).

    - #### getNumPoints

          public double getNumPoints()

      Returns the number of points (both relevant and irrelevant points).

    - #### getRecallPoints

          public QualityStats.RecallPoint[] getRecallPoints()

      Returns the recallPoints.

    - #### getMRR

          public double getMRR()

      Returns the Mean reciprocal rank over the queries or RR for a single query.

      Reciprocal rank is defined as `1/r` where `r` is the rank of the first correct result, or `0` if there are no correct results within the top 5 results.

      This follows the definition in Question Answering - CNLP at the TREC-10 Question Answering Track.

    - #### getSearchTime

          public long getSearchTime()

      Returns the search time in milliseconds for the measured query.

Copyright © 2000-2020 Apache Software Foundation. All Rights Reserved.