优化大 Lucene 索引以静默方式失败



我有一个关于优化大Lucene指数的问题(现在是197 Gb-对你们中的某些人来说可能听起来不是那么大)。我使用的是 2.9.4 版的 Lucene,当我需要将具有 900 个段的索引优化为更少数量的段(理想情况下为 1-10 个)时,我进入了一个状态。我仍在调用 2.9.4 中可用的 IndexWriter.optimize(),但设置合并因子以同样的方式失败。

因此,发生的情况是,在优化我的日志一个小时后(我已经设置了所有可能的日志),说优化已完成,并且任何日志文件中都没有错误。一切看起来都很好,除了索引目录中的文件仍然相同 - 没有减少或删除的文件数量。我在驱动器上有足够的空间(300 Gb),并且没有打开的读取器或搜索器 - 索引是孤立的,专注于优化。

根据索引 wirter 日志,合并线程合并段并迭代打印出从 900 到 456 的一些段数,然后突然说它正在合并所有段,最多 16 个段(这是我设置为合并到的一个或多个段)

有谁知道会发生什么?我是否合并了太多细分?是否有任何与操作系统相关的(Windows Server 2008)问题,例如"打开的文件处理程序过多"(在哪里可以查看该消息)?提前致谢

这不是

失败。问题非常简单 - 您只需要在优化完成后打开索引读取器(或重新打开现有索引读取器)。就是这样。当您在几秒钟内打开阅读器时,它将用新文件列表替换旧索引文件。

最新更新