org.apache.lucene.benchmark.quality

## Class QualityBenchmark

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

-     public class QualityBenchmark
      extends java.lang.Object

  Main entry point for running a quality benchmark.

  There are two main configurations for running a quality benchmark:

  - Against existing judgements.
  - For submission (e.g. for a contest).
  The first configuration requires a non null `Judge`. The second configuration requires a non null `SubmissionLogger`.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected java.lang.String` | `docNameField` index field to extract doc name for each search result; used for judging the results.
    `protected QualityQueryParser` | `qqParser` Parser for turning QualityQueries into Lucene Queries.
    `protected QualityQuery[]` | `qualityQueries` Quality Queries that this quality benchmark would execute.
    `protected org.apache.lucene.search.Searcher` | `searcher` Index to be searched.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `QualityBenchmark(QualityQuery[] qqs, QualityQueryParser qqParser, org.apache.lucene.search.Searcher searcher, java.lang.String docNameField)` Create a QualityBenchmark.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `QualityStats[]` | `execute(Judge judge, SubmissionReport submitRep, java.io.PrintWriter qualityLog)` Run the quality benchmark.
    `int` | `getMaxQueries()`
    `int` | `getMaxResults()`
    `void` | `setMaxQueries(int maxQueries)` Set the maximum number of quality queries to run.
    `void` | `setMaxResults(int maxResults)` set the maximum number of results to collect for each quality query.

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

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

- - ### Field Detail

    - #### qualityQueries

          protected QualityQuery[] qualityQueries

      Quality Queries that this quality benchmark would execute.

    - #### qqParser

          protected QualityQueryParser qqParser

      Parser for turning QualityQueries into Lucene Queries.

    - #### searcher

          protected org.apache.lucene.search.Searcher searcher

      Index to be searched.

    - #### docNameField

          protected java.lang.String docNameField

      index field to extract doc name for each search result; used for judging the results.

  - ### Constructor Detail

    - #### QualityBenchmark

          public QualityBenchmark(QualityQuery[] qqs,
                                  QualityQueryParser qqParser,
                                  org.apache.lucene.search.Searcher searcher,
                                  java.lang.String docNameField)

      Create a QualityBenchmark.
      Parameters:
        `qqs` - quality queries to run.
        `qqParser` - parser for turning QualityQueries into Lucene Queries.
        `searcher` - index to be searched.
        `docNameField` - name of field containing the document name. This allows to extract the doc name for search results, and is important for judging the results.

  - ### Method Detail

    - #### execute

          public QualityStats[] execute(Judge judge,
                                        SubmissionReport submitRep,
                                        java.io.PrintWriter qualityLog)
                                 throws java.lang.Exception

      Run the quality benchmark.
      Parameters:
        `judge` - the judge that can tell if a certain result doc is relevant for a certain quality query. If null, no judgements would be made. Usually null for a submission run.
        `submitRep` - submission report is created if non null.
        `qualityLog` - If not null, quality run data would be printed for each query.
      Returns:
        QualityStats of each quality query that was executed.
      Throws:
        `java.lang.Exception` - if quality benchmark failed to run.

    - #### getMaxQueries

          public int getMaxQueries()

      Returns:
        the maximum number of quality queries to run. Useful at debugging.

    - #### setMaxQueries

          public void setMaxQueries(int maxQueries)

      Set the maximum number of quality queries to run. Useful at debugging.

    - #### getMaxResults

          public int getMaxResults()

      Returns:
        the maximum number of results to collect for each quality query.

    - #### setMaxResults

          public void setMaxResults(int maxResults)

      set the maximum number of results to collect for each quality query.

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