これは、luceneで何かを検索するための私のコードです。
ScoreDoc[] hits = null;
StandardAnalyzer analyzer = new StandardAnalyzer(Version.LUCENE_35);
QueryParser q = new QueryParser(Version.LUCENE_35, "content", analyzer);
Query query = q.parse(searchString);
IndexReader reader = IndexReader.open(IndexWriterSingleton.getIndexWriter(), true);
IndexSearcher is = new IndexSearcher(reader);
// IndexSearcher is = new IndexSearcher(index, true);
TopScoreDocCollector collector = TopScoreDocCollector.create(100, true);
is.search(query, collector);
hits = collector.topDocs().scoreDocs;
私の質問は:この行(この行だけ)は検索をほぼリアルタイムにしますか?
IndexReader reader = IndexReader.open(IndexWriterSingleton.getIndexWriter(), true);
私は単一のIndexWriterを維持しています(どこにも閉じていません)。