Lucene 7.5.0 Segment Merge 之 TieredMergePolicy

这篇文章介绍TieredMergePolicy,它是Lucene4以后的默认段的合并策略,之前采用的合并策略为LogMergePolicy,建议先熟悉LogMergePolicy后再了解TieredMergePolicy,这样对于两种合并策略的优缺点能一目了然,使得在不同业务使用对应的策略,其中两种合并策略最大的不同是:

LogMergePolicy总是合并相邻的段文件,合并相邻的段文件(Adjacent Segment)描述的是对于IndexWriter提供的段集,LogMergePolicy会选取连续的部分(或全部)段集区间来生成一个待合并段集

TieredMergePolicy中会先对IndexWriter提供的段集进行排序,然后在排序后的段集中选取部分(可能不连续)段来生成一个待合并段集,即非相邻的段文件(Non-adjacent Segment)。

   如果用一句话来描述合并策略TieredMergePolicy的特点的话,那就是:找出大小接近且最优的段集。在下文中,通过介绍一些参数以及找出合并段集的逻辑自然就理解这句话的含义。


详情看这里:https://www.amazingkoala.com.cn/Lucene/Index/2019/0516/59.html

你可能感兴趣的:(Lucene 7.5.0 Segment Merge 之 TieredMergePolicy)