SearchJFiles.javaの修正
下記を参考に開始
恐らく一番の肝はHitsクラスを使わないでTopDocsクラスを使うところ
とりあえずjavadocを読む
修正完了
30行くらい短くなってWarnningが消えた
こんな感じ
細かいところは改造してます
出力してるdo.get("path")とか
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.analysis.ja.JapaneseAnalyzer; import org.apache.lucene.document.Document; import org.apache.lucene.index.CorruptIndexException; import org.apache.lucene.queryParser.ParseException; import org.apache.lucene.queryParser.QueryParser; import org.apache.lucene.search.IndexSearcher; import org.apache.lucene.search.Query; import org.apache.lucene.search.ScoreDoc; import org.apache.lucene.search.Searcher; import org.apache.lucene.search.TopDocs; class SearchJFiles { public static void main(String[] args) throws CorruptIndexException, IOException, ParseException { String index = "C:\\Lucene\\index"; System.setProperty("sen.home", "D:\\Software\\java\\sen"); Searcher searcher = new IndexSearcher(index); Analyzer analyzer = new JapaneseAnalyzer(); BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); while (true) { System.out.print("Query: "); String line = in.readLine(); if (line.length() == -1) break; QueryParser parser = new QueryParser("contents", analyzer); Query query = parser.parse(line); System.out.println("Searching for: " + query.toString("contents")); TopDocs docs = searcher.search(query, 10); for (ScoreDoc scoreDoc : docs.scoreDocs) { int docId = scoreDoc.doc; Document doc = searcher.doc(docId); System.out.println(doc.get("path")); } searcher.close(); } } }