4

私は Lucene.net の初心者であり、ここから検索コードを適応させようとしています。これは、基本的にすべてのメソッドで新しいAnalyzer,オブジェクトIndexSearcherを作成しIndexWriter、FSDirectory オブジェクトのみが再利用されています。

質問:これらのオブジェクトを再利用するための推奨されるベスト プラクティスはありますか?

Lucene.Net 最適化の以前の結果は何年も前のものであり、個人的な経験から、Lucene.Net ライブラリは変更されています。サンプルをダウンロードして 3.0.3 でコンパイルしても、コードを変更しないと機能しません。

4

2 に答える 2

3

公式wikiのBestPracticesはどうですか?

于 2013-02-27T04:31:24.683 に答える
1

私たちのプロジェクトでは、 を再利用し、Analyzerと に事前定義さVersionれたを挿入IndexWriterIndexReaderます。インデックス作成時と検索時に同じにすることをお勧めしAnalyzerます。これにより、少なくともパターンが適用されます。

最後の 2 つは実際の Lucene インデックス アクセスのラッパーであるため、それらを使用するたびにインデックス ストリームをインスタンス化する必要があります。これらは同時呼び出し ( reads とwrites の両方) をブロックするため、それらを再利用する意味はほとんどありません。

このプロジェクトには、利用できる「ベスト プラクティス」とパターンがいくつかあります。

于 2013-03-03T20:14:00.283 に答える