【问题标题】:Migrating from Solr 4.10.2 to Solr 6.0从 Solr 4.10.2 迁移到 Solr 6.0
【发布时间】:2016-10-06 06:43:42
【问题描述】:

我正在尝试将 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>\data\index\segments_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,但我希望尽可能避免两次升级事件。

【问题讨论】:

    标签: solr migration


    【解决方案1】:

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

    作为一个在黑暗中的镜头,您也可以尝试优化,不确定它是否会起作用,但值得研究一下。

    【讨论】:

    • 我了解索引文件没有升级。我的问题更多的是为什么在 4.10.2 下创建的一组索引文件会包含一个 6.0.0 系统认为是版本 3 文件的文件。
    • 出于兴趣,您是否尝试在索引上运行 IndexUpgrader 工具?
    【解决方案2】:

    仔细查看错误信息:

    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 migration,它确实声明无法直接从 3.x 跳转到 5.x。如果在Lucene 6.0.0 migration 页面上包含类似的信息,那就太好了。

    【讨论】:

      【解决方案3】:

      我已通过以下步骤成功将我的 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. 优化所有集合,一切就绪

      快乐编码

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-06-11
          • 2023-04-06
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-08-05
          相关资源
          最近更新 更多