How can I get the number of hits per document in Lucene in Java. I have
IndexReader reader;
reader = IndexReader.open (FSDirectory.open (new File (index)), true);
Searcher searcher = new IndexSearcher (reader);
String feild = "contents"
QueryParser parser = new QueryParser (Version.LUCENE_CURRENT, field, analyzer);
Query query = parser.parse ("test");
TopScoreDocCollector collector = TopScoreDocCollector.create (
5 * hitsPerPage, false);
searcher.search (query, collector);
ScoreDoc [] hits = collector.topDocs (). ScoreDocs;
Searcher searcher = new IndexSearcher (reader);
int numTotalHits = collector.getTotalHits ();
System.out.println (numTotalHits + "total matching documents"); for (int i = start; i <end; i ++) {int id = hit [i] .doc; TermFreqVector [] Tfv = reader.getTermFreqVectors (id);
TFV becomes null :( Someone can specify how to get hits in each document from there.
EDIT:
If we install TermVector.YES during indexing, this will work.
source
share