使用Explanation类取得评分信息
package com.lucene; import java.io.IOException; import org.apache.lucene.analysis.standard.StandardAnalyzer; import org.apache.lucene.document.Document; import org.apache.lucene.queryParser.ParseException; import org.apache.lucene.queryParser.QueryParser; import org.apache.lucene.search.Explanation; import org.apache.lucene.search.Hits; import org.apache.lucene.search.IndexSearcher; import org.apache.lucene.search.Query; import org.apache.lucene.store.FSDirectory; public class Explainer { public static void main(String[] args) throws IOException, ParseException { String indexDir = "C://test//index"; String queryExp = "ERROR"; FSDirectory directory = FSDirectory.getDirectory(indexDir); QueryParser parser = new QueryParser("contents", new StandardAnalyzer()); Query query = parser.parse(queryExp); System.out.println("Query: " + queryExp); IndexSearcher searcher = new IndexSearcher(directory); Hits hits = searcher.search(query); for (int i = 0; i < hits.length(); i++) { Explanation explanation = searcher.explain(query, hits.id(i)); System.out.println("--------------------"); Document doc = hits.doc(i); System.out.println(doc.get("filename")); System.out.println(explanation.toString()); } } }