首页 > 解决方案 > 我会在从 v3 迁移到最新 v7 的迁移 lucene 索引中获得性能改进吗

问题描述

我们的应用程序是索引书籍。当我们索引时,磁盘上的大小约为 1GB。当我们搜索时,大约需要 12-18 秒。

此应用程序是使用 Lucene 3.xx 构建的,如果我迁移到 Lucene 7.xx,我会获得性能改进吗?

我问是因为应用程序非常大,分离这部分功能是一项非常艰巨的任务,因此需要有经验的人的帮助。

我还看到代码中使用的许多类在 Lucene-7 中不可用。我该如何迁移?我是否需要像 v3 -> v4 -> v5 -> v6 -> v7 那样进行增量迁移?

标签: javaperformanceindexingsolrlucene

解决方案


我会看到迁移到 Lucene 7.0 的性能改进吗

不可能肯定地说,但很可能你会。自 Lucene 3 以来,性能有了相当大的改进。您可以浏览Lucene 基准测试,向后滚动,您将看到自 v3.0 以来的大部分改进。

这是否足以改善是另一个问题。您应该首先查看的是,如果您使用的查询通常表现不佳,以及如何才能做得更好。如果您使用大量领先的通配符查询,那么更新版本的 Lucene 不会神奇地将您从自己手中拯救出来。

我该如何迁移?

自 Lucene 3 以来的 7 年里发生了很多变化。获取阅读器或编写器发生了变化,甚至文档和字段的工作方式也不尽相同!最好的办法是熟悉迁移指南,其中列出了可能会破坏您的代码的更改,以及如何处理它们:

我是否需要进行增量迁移

有这么多版本要通过,如果可能的话,我宁愿重新索引,但如果这不是一个选项,是的,你需要一次升级你的索引一个主要版本。您需要使用命令行IndexUpgrader工具来执行此操作,并且它仅从上一个主要版本升级。所以,是的,您需要下载 lucene 4,运行 IndexUpgrader 以获得 4.0 索引,然后使用 Lucene 5 重复,等等。


推荐阅读