3
これら2つのコードの違いは何ですか? IndexReader
にディレクトリを使用してIndexSearcher
ルーネンでIndexReaderまたはIndexSearcherを使用してディレクトリを開く
Analyzer anal = new StandardAnalyzer(Version.LUCENE_30);
QueryParser parser = new QueryParser(Version.LUCENE_30, "", anal);
Query query = parser.parse(queryStr);
Searcher searcher = new IndexSearcher(NIOFSDirectory.open(new File(indexDir)));
で直接ディレクトリを使用して
を志向パフォーマンス指向およびドキュメントは、その読者に
Analyzer anal = new StandardAnalyzer(Version.LUCENE_30);
QueryParser parser = new QueryParser(Version.LUCENE_30, "", anal);
Query query = parser.parse(queryStr);
IndexReader ir = IndexReader.open(NIOFSDirectory.open(new File(indexDir)), false);
IndexSearcher searcherNew = new IndexSearcher(ir);
ありがとうございます....非常に便利なリンク... – rrsk
少し詳しく説明するために、IndexReaderを開くのはコストのかかる操作です。 IndexReaderを新しいIndexSearcherにラップするのは安価です。したがって、最適化のために、IndexReaderの再利用を注意深く管理する必要がありますが、必ずしもIndexSearchersを管理する必要はありません。 – Jegschemesch