从 Solr 4.10.2 迁移到 Solr 6.0

  • 本文关键字:Solr 迁移 solr migration
  • 更新时间 :
  • 英文 :


我正在尝试将 Solr 存储库从 4.10.2 迁移到 6.0.0。 根据我所读到的内容,应该可以跳过两个主要版本。 但是,当我部署 6.0.0 系统并从 4.10.2 主服务器复制时,出现以下异常:

Caused by: org.apache.lucene.index.IndexFormatTooOldException: Format version is not supported
path="<path-to-data>dataindexsegments_3sq" 3 (needs to be between 4 and 6).
This version of Lucene only supports indexes created with release 5.0 and later.
出于某种原因,我们的 4.10.2

存储库(在 4.10.2 环境中从头开始构建)包含一个文件名"segments_3sq",这是一个版本 3 文件。 对于 6.0.0 安装来说,这是一个太大的跳跃(三个版本)。

为什么 4.10.2 环境包含 v3 文件? 有没有办法在没有该文件的情况下重建 4.10.2? 另一种方法是迁移到 5.5.1,然后第二次迁移到 6.0,但如果可能的话,我想避免两次升级事件。

更仔细地查看错误消息:

This version of Lucene only supports indexes created with release 5.0 and later.

显然不可能直接从 4.10.2 跳到 6.0,但我们必须先绕道 5.5.1。

我找到了以下页面 Lucene 5.0.0 迁移,其中确实指出不可能直接从 3.x 跳到 5.x。 如果类似的信息包含在 Lucene 6.0.0 迁移页面上会很好。

我已经成功地将我的solr 4.10升级到6.3(介于两者之间solr 5.0),步骤如下

  1. 下载 solr5.0 并创建所有集合
  2. 将索引数据从 4.x 复制到 5.0
  3. 优化所有集合
  4. 停止 solr 5.0 并下载并启动 solr 6.x
  5. 在 Solr 6.x 中创建所有集合
  6. 将所有索引文件从 5.0 复制到 6.x
  7. 优化所有集合,您就准备好了

快乐编码

升级

Solr 时,Lucene 索引文件不会升级。解决此问题的最佳方法是使用较新版本的 Solr 重新索引数据。

作为黑暗中的镜头,您也可以尝试优化,不确定它是否有效,但值得研究。

要升级数据文件版本,可以使用 solr 升级器工具:https://cwiki.apache.org/confluence/display/solr/IndexUpgrader+Tool

最新更新