优化方法做什么?lucene最新版本中优化方法的替代方案

优化方法做什么?lucene最新版本中优化方法的替代方案,lucene,lucene.net,pylucene,Lucene,Lucene.net,Pylucene,我是lucene的新手,我正在尝试理解细分合并过程。我遇到了optimize方法(它将合并该实例中所有可用的Lucene索引段)。 我的确切问题是,优化是否合并了所有级别的细分并创建了一个复杂的细分? Lucene最新版本中的替代方案(如Lucene 6.5)? 在索引过程之后始终调用优化方法是否好,这样我的索引将始终有一个段,搜索速度将更快?首先,不需要总是将段合并为一个段。可以对其进行配置。原则上,合并段/优化索引的想法来自于Lucene中删除的实现。Lucene不删除文档,而是将它们标记为

我是lucene的新手,我正在尝试理解细分合并过程。我遇到了optimize方法(它将合并该实例中所有可用的Lucene索引段)。 我的确切问题是,优化是否合并了所有级别的细分并创建了一个复杂的细分? Lucene最新版本中的替代方案(如Lucene 6.5)?
在索引过程之后始终调用优化方法是否好,这样我的索引将始终有一个段,搜索速度将更快?

首先,不需要总是将段合并为一个段。可以对其进行配置。原则上,合并段/优化索引的想法来自于Lucene中删除的实现。Lucene不删除文档,而是将它们标记为删除。其次,新文档正在进入新的片段

Lucene有很多每段文件,比如术语词典和许多其他文件,因此将它们合并在一起将减少堆并加快搜索速度。然而,通常合并的过程并没有那么快

总的来说,您需要在每次索引新文档时调用合并/优化和不执行所有操作之间取得平衡。需要注意的一点是,它定义了不同类型的合并,使用不同的策略。如果你找不到任何适合你的(我怀疑),你可以根据你的需要实施一个

在Lucene 6.5中,您可以使用

IndexWriter的
public void-forceMerge(int-maxNumSegments)