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();
		}
	}
}