solr老版本索引升级,这个需要用solr的indexupgrader 需要下载对应的lucene-core-x.x.x.jar.
5.5之后还得下载lucene-backward-codecs-x.x.x.jar。要用这个工具,一定要在path路径添加该类的存放地方,而其运行cmd必须在该jar的位置,比如我的jar放在f:\那么cmd也必须是f:\否则老提示无法加载该类,我整了一天才解决这个问题。lucene-core-x.x.x.jar和lucene-backward-codecs-x.x.x.jar直接是英文分号,wiki上是冒号是错误的。
比如我的solr是从2.9要升到6.0.1,那么就得一步一步升,先从2.9到3.6.2,再从3.6.2到4.4,然后是4.4到5.5,最后是5.5到6.0
具体如下
java -cp f:\lucene-core-3.6.2.jar org.apache.lucene.index.IndexUpgrader -delete-prior-commits -verbose E:\索引目录
java -cp f:\lucene-core-4.4.0.jar org.apache.lucene.index.IndexUpgrader -delete-prior-commits -verbose E:\索引目录
java -cp f:\lucene-core-5.5.0.jar;lucene-backward-codecs-5.5.0.jar org.apache.lucene.index.IndexUpgrader -delete-prior-commits -verbose E:\索引目录
java -cp f:\lucene-core-6.0.1.jar;lucene-backward-codecs-6.0.1.jar org.apache.lucene.index.IndexUpgrader -delete-prior-commits -verbose E:\索引目录
四步即升级完毕
索引大小由480m降低到285m
注意必须退到lucene-core-5.5.0.jar;lucene-backward-codecs-5.5.0.jar所在根目录即f: