Lucene从3.x迁移到4.1.0并进行索引优化

Mar*_*cki 0 java migration lucene

我已经从lucene 3.x迁移到4.1.0.创建新索引后,我意识到索引目录中有更多文件.lucene 3使用IndexWriter.optimize()来折叠文件.的在V4 succesorIndexWriter.forceMerge(INT maxNumSegments) .我尝试使用不同的maxNumSegments值的forceMerge,我总是得到相同的索引文件.我希望将文件合并为一个或至少更少的索引文件.我错了吗?你知道怎么做吗?

min*_*das 6

除了意识形态(文件少于更多文件),有什么实际的理由为什么你需要更少的文件?提供给定索引的总字节数大致相同,有什么区别?

优化被删除的原因是因为它效率低下:它会破坏搜索性能,导致结果负载高峰等.搜索多个段的性能已经提高,并且.optimize() 不再需要合理性.Lucene现在使用TieredMergePolicy它来很好地平衡负载并从不同的角度解决这个问题.