优化大Lucene索引失败

优化大Lucene索引失败,lucene,Lucene,我有一个关于优化大Lucene索引的问题,它现在是197GB,对你们中的一些人来说可能听起来没那个么大。 我正在使用2.9.4版的Lucene,当我需要优化一个索引时,需要将900个段优化为更小的1-10段。我仍然在调用2.9.4中提供的IndexWriter.optimize,但设置合并因子也会以同样的方式失败 所以,在优化了一个小时的日志后,我设置了所有可能的日志,并说优化已经完成,任何日志文件中都没有错误。除了索引目录中的文件仍然相同之外,一切看起来都很好——没有减少或删除多少文件。 我在

我有一个关于优化大Lucene索引的问题,它现在是197GB,对你们中的一些人来说可能听起来没那个么大。 我正在使用2.9.4版的Lucene,当我需要优化一个索引时,需要将900个段优化为更小的1-10段。我仍然在调用2.9.4中提供的IndexWriter.optimize,但设置合并因子也会以同样的方式失败

所以,在优化了一个小时的日志后,我设置了所有可能的日志,并说优化已经完成,任何日志文件中都没有错误。除了索引目录中的文件仍然相同之外,一切看起来都很好——没有减少或删除多少文件。 我在300 Gb的硬盘上有足够的空间,没有打开任何阅读器或搜索器-索引是孤立的,专注于优化

根据索引wirter记录合并线程合并段并以迭代方式打印出从900段到456段的一些段数,然后突然它说它正在合并所有段,最多16段,这是我设置要合并的段数

有人知道会发生什么吗?我是否合并了太多的片段?是否存在与操作系统相关的Windows Server 2008问题,如“打开的文件处理程序太多”,我可以在哪里查看该消息?
提前感谢

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

可以去lucene 4号吗?也许3作为一个权宜之计,有很多bug修复你可能想听听建议,但是我们非常依赖Lucene 2.4 API和那些不推荐的点击等等。事实上,我解决了这个问题。我尝试先为几个文档编制索引,然后提交它们,然后在同一线程中运行优化。这就解决了问题。我只能指出,索引处于某种不一致的状态,对索引的写入/提交很少,这使它工作起来。