Example usage for org.apache.lucene.benchmark.quality QualityStats getRecall

List of usage examples for org.apache.lucene.benchmark.quality QualityStats getRecall

Introduction

In this page you can find the example usage for org.apache.lucene.benchmark.quality QualityStats getRecall.

Prototype

public double getRecall() 

Source Link

Document

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

Usage

From source file:PrecisionRecall.PrecisionRecallMain.java

public BeanPrecisionRecall caculate() throws Throwable {

    File topicsFile = new File(getTopicsFile());
    File qrelsFile = new File(getQrelsFile());
    Directory dir = FSDirectory.open(new File(getIndexPath()));

    IndexReader reader = DirectoryReader.open(dir);
    IndexSearcher searcher = new IndexSearcher(reader);
    String docNameField = "filename";

    PrintWriter logger = new PrintWriter(System.out, true);

    TrecTopicsReader qReader = new TrecTopicsReader();
    QualityQuery qqs[] = qReader.readQueries(new BufferedReader(new FileReader(topicsFile)));

    Judge judge = new TrecJudge(new BufferedReader(new FileReader(qrelsFile)));

    judge.validateData(qqs, logger);/*ww  w  .j a  va 2s  .c om*/

    QualityQueryParser qqParser = new SimpleQQParser("title", "contents");

    QualityBenchmark qrun = new QualityBenchmark(qqs, qqParser, searcher, docNameField);
    SubmissionReport submitLog = null;

    QualityStats stats[] = qrun.execute(judge, submitLog, logger);

    QualityStats avg = QualityStats.average(stats);

    BeanPrecisionRecall bpr = new BeanPrecisionRecall();

    bpr.setAveragePrecision(avg.getAvp());
    bpr.setMmr(avg.getMRR());
    bpr.setRecall(avg.getRecall());
    bpr.setSearchTime(avg.getSearchTime());

    dir.close();
    return bpr;
}