0

私のアプリケーションでは、lucene コア jar を 2.0 から 3.6 にアップグレードする必要があります。問題は、2.0 で RAMDirectory クラスがディスク上のファイルの読み取りと書き込みに使用されたことです。しかし、3.6 では RAMDirectory クラスの initialize メソッド シグネチャが変更され、引数を取りません。ディスク上の std の場所から入力ファイルを読み取るために、FSDirectory.open(File) パラメータを渡しましたが、出力インデックス ファイルが指定した場所に書き込まれません。

jar を 2.0 から上位バージョンにアップグレードする際に考慮すべきことは何か。

参考文献や経験は非常に役に立ちます。

ありがとう、アシッシュ

4

1 に答える 1

0

これは の予想される動作ですRAMDirectory。渡されたインデックス ディレクトリの完全なコピーをメモリ内に作成します。メモリ内のインデックスを変更しても、ディスクに格納されているインデックスは変更されません。欠けているものがない限り、これは変わっていません。保存されたインデックスに変更を加えたい場合RAMDirectoryは、実際には適切なクラスではありません。FSDirectory代わりに、作成した をそのまま使用できます。

アプリケーションが RAMDirectory をロードし、それをメモリ内で処理し、後でディスクに書き戻していたのではないでしょうか?

于 2013-09-20T15:54:29.697 に答える