Class QualityBenchmark
java.lang.Object
org.apache.lucene.benchmark.quality.QualityBenchmark
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).
Judge
. The second configuration requires a non null SubmissionLogger
.-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected String
index field to extract doc name for each search result; used for judging the results.protected QualityQueryParser
Parser for turning QualityQueries into Lucene Queries.protected QualityQuery[]
Quality Queries that this quality benchmark would execute.protected IndexSearcher
Index to be searched. -
Constructor Summary
ConstructorsConstructorDescriptionQualityBenchmark
(QualityQuery[] qqs, QualityQueryParser qqParser, IndexSearcher searcher, String docNameField) Create a QualityBenchmark. -
Method Summary
Modifier and TypeMethodDescriptionexecute
(Judge judge, SubmissionReport submitRep, PrintWriter qualityLog) Run the quality benchmark.int
int
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.
-
Field Details
-
qualityQueries
Quality Queries that this quality benchmark would execute. -
qqParser
Parser for turning QualityQueries into Lucene Queries. -
searcher
Index to be searched. -
docNameField
index field to extract doc name for each search result; used for judging the results.
-
-
Constructor Details
-
QualityBenchmark
public QualityBenchmark(QualityQuery[] qqs, QualityQueryParser qqParser, IndexSearcher searcher, 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 Details
-
execute
public QualityStats[] execute(Judge judge, SubmissionReport submitRep, PrintWriter qualityLog) throws 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:
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.
-