LUCENE-2042: add print.hits.field config

git-svn-id: https://svn.apache.org/repos/asf/lucene/java/trunk@833745 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Michael McCandless 2009-11-07 20:08:00 +00:00
parent 73944292d4
commit 0e2839b2b2
2 changed files with 22 additions and 1 deletions

View File

@ -4,6 +4,10 @@ The Benchmark contrib package contains code for benchmarking Lucene in a variety
$Id:$
11/07/2009
LUCENE-2042: Added print.hits.field, to print each hit from the
Search* tasks. (Mike McCandless)
11/04/2009
LUCENE-2029: Added doc.body.stored and doc.body.tokenized; each
falls back to the non-body variant as its default. (Mike McCandless)

View File

@ -51,7 +51,10 @@ import org.apache.lucene.store.Directory;
* Otherwise a reader is opened at start and closed at the end.
* <p>
* The <code>search.num.hits</code> config parameter sets
* the top number of hits to collect during searching.
* the top number of hits to collect during searching. If
* <code>print.hits.field</code> is set, then each hit is
* printed along with the value of that field.</p>
*
* <p>Other side effects: none.
*/
public abstract class ReadTask extends PerfTask {
@ -107,6 +110,20 @@ public abstract class ReadTask extends PerfTask {
} else {
hits = searcher.search(q, numHits);
}
final String printHitsField = getRunData().getConfig().get("print.hits.field", null);
if (printHitsField != null && printHitsField.length() > 0) {
final IndexReader r = searcher.getIndexReader();
System.out.println("totalHits = " + hits.totalHits);
System.out.println("maxDoc() = " + r.maxDoc());
System.out.println("numDocs() = " + r.numDocs());
for(int i=0;i<hits.scoreDocs.length;i++) {
final int docID = hits.scoreDocs[i].doc;
final Document doc = r.document(docID);
System.out.println(" " + i + ": doc=" + docID + " score=" + hits.scoreDocs[i].score + " " + printHitsField + " =" + doc.get(printHitsField));
}
}
//System.out.println("q=" + q + ":" + hits.totalHits + " total hits");
if (withTraverse()) {