Lucene IndexWriter.ExpungeDeletes()所需的可用磁盘空间量
我正在编写一个应用程序,它利用Lucene索引,用户必须频繁地更新或删除索引文档 我知道,如果有人想要永久删除标记为从Lucene索引中删除的文档,那么他有两种选择:Lucene IndexWriter.ExpungeDeletes()所需的可用磁盘空间量,lucene,Lucene,我正在编写一个应用程序,它利用Lucene索引,用户必须频繁地更新或删除索引文档 我知道,如果有人想要永久删除标记为从Lucene索引中删除的文档,那么他有两种选择: index writer.Optimize()或 Indexwriter.ExpungeDeletes() 由于为每个删除会话优化索引既昂贵又耗时,而且需要2倍的可用磁盘空间,因此在磁盘空间不足的情况下,Optimize()似乎不是一个好的选择 所以很明显,我不得不选择ExpungeDeletes(),它声称耗时更少,而且不会强制
提前感谢。您可能对JIRA问题感兴趣。总而言之:
expungeDeletes
是一个糟糕的名字,因为它不仅删除了删除内容,还保留了索引的其余部分
如果您想知道它的确切性能:expungeDeltes
只需对每个已删除的段调用merge。在你的情况下,听起来可能是每一部分,所以。。。大致相当于调用optimize
你认为需要优化的搜索不起作用怎么办