我要将Lucene版本从3.5迁移到4.7。 由于我的索引非常庞大,我想知道是否值得重新编制索引。 大多数情况下,如果在性能方面值得,我感兴趣。 有什么建议吗?
此致
答案 0 :(得分:2)
像往常一样,对此没有简单的答案。
最大的变化是,在v4.0中,Lucene引入了提供自定义编解码器/发布格式的能力。 Michael McCandless(Lucene的一位作者),explains the difference between 3.X and 4.0:
默认情况下,Lucene使用StandardCodec,它可以写入和读入 与当前稳定分支(3.x)几乎相同的格式。细节 给定的术语存储在术语词典文件中,而文档和 该术语发生的位置存储在单独的文件中。
也就是说,有不同的编解码器,每个编解码器都集中在不同的东西上。
This presentation涵盖了一些发布格式,并有一些见解,针对哪种情况调整格式。如果你打算留在StandardCodec
,我猜你不会选择重新索引。
答案 1 :(得分:1)
考虑使用4.7的IndexUpgrader来升级您的索引,因为索引格式(准确的过帐格式)从3.x到4.x有一些变化。 Lucene 4.7的默认编解码器可能无法读取Lucene 3.x的索引文件
IndexUpgrader是Lucene提供的实用程序。 http://lucene.apache.org/core/4_7_0/core/org/apache/lucene/index/IndexUpgrader.html