我正在尝试将 Lucene 索引从 4.6 升级到 8.0.0。当我尝试使用以下方式升级工具时:
java -cp lucene-core.jar:lucene-backward-codecs.jar \
org.apache.lucene.index.IndexUpgrader -delete-prior-commits \
/scratch/***/workspaces/trunk/****/indexes/4.6/
脚本运行良好4.6
to 5.5.5
, 5.5.5
to 6.6.6
, 6.6.6
to 7.7.2
。但是当我尝试从7.7.2
to 8.0.0
它抛出如下错误。
Exception in thread "main" org.apache.lucene.index.IndexFormatTooOldException: Format version is not supported (resource BufferedChecksumIndexInput(MMapIndexInput(path="/scratch/**/workspaces/trunk/**/indexes/4.6/sd/segments_9"))): This index was initially created with Lucene 6.x while the current version is 8.0.0 and Lucene only supports reading the current and previous major versions.. This version of Lucene only supports indexes created with release 7.0 and later.
at org.apache.lucene.index.SegmentInfos.readCommit(SegmentInfos.java:318)
at org.apache.lucene.index.SegmentInfos.readCommit(SegmentInfos.java:289)
at org.apache.lucene.index.IndexWriter.<init>(IndexWriter.java:846)
at org.apache.lucene.index.IndexUpgrader.upgrade(IndexUpgrader.java:167)
at org.apache.lucene.index.IndexUpgrader.main(IndexUpgrader.java:78)
我们想从升级4.6
to 8.0.0
. Till 7.7.2
它正在升级,没有任何问题,但是当我使用 Lucene 版本时7.7.2
在我的代码中索引工作正常。但是卢森8.0.0
不管用。
请帮助我升级8.0.0
- 如果我们要升级多个主要版本,则必须重新索引。
- 多个主要版本升级一直是不鼓励的,并且从未保证可以工作,但现在此类升级被明确拒绝。
- 当我们使用 Lucene 6 中的 IndexUpgrader 时,Lucene 版本被写入索引中。记录的版本由版本 7 的升级程序保留。当版本 8 随后读取索引时,它会抱怨,因为原始索引不是由版本 7 或更高版本写入的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)