コンテンツをバージョン3.6から4.1にインデックス付けするためにLuceneエンジンをアップグレードしている最中です。APIの一部のパーティが大幅に変更されていることに気づきました。
特に、SegmentInfosクラスの静的定数に関しては...
私の古いコードは、破損したインデックスを検出するために次のコードを使用しています。存在する場合は、Luceneバイナリファイルを削除します。
for (String name : fileNames) {
if (name != null && name.startsWith("segments_")) {
IndexInput input = dir.openInput(name);
int format = input.readInt();
input.close();
if (format != SegmentInfos.FORMAT_DIAGNOSTICS) {
LOG.info(String.format("File %s is corrupted and it will be deleted", name));
dir.deleteFile(name);
}
}
}
残念ながら、Luceneの4.1バージョンの静的定数SegmentInfos.FORMAT_DIAGNOSTICSはなくなり、一部のインデックスが破損しているかどうかを認識する方法がわかりません...