0
我正在升級Lucene引擎以將我的內容從3.6版本索引到4.1。我注意到API的一些方面已經發生了很大的變化。升級後的不同API和SegmentInfos常量Lucene從3.6到4.1
尤其是當它涉及到從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);
}
}
}
可惜的是靜態常量SegmentInfos.FORMAT_DIAGNOSTICS 4.1版的Lucene的走了,我還沒有線索如何現在認識到一些指標是否損壞或不...
你爲什麼要手動做這件事?有一個checkindex工具。或者至少你可以看看它應該做類似事情的代碼。 – javanna 2013-03-19 08:42:09
確實有一個我不知道的checkindex工具。我會看看它,這可能是我需要的......謝謝。 – damax 2013-03-19 12:00:14
很高興聽到,我添加了我的評論作爲一個新的答案。 – javanna 2013-03-20 09:26:04