Lucene 4.0 TieredMergePolicy

默认的merge policy。

findMerges:

先将所有段按照扣除删除文档之后的字节数(bytesize * (1.0 - delRatio))降序排,对其中size() > 2.5G(maxMergedSegmentSize / 2)的段排除在外,其他只要不是正在归并的段,加入候选。

这个候选的列表如果大于allowedSegCount(allowedSegCount计算方法如下: 按照min(最小段size(),2M)做为10路归并在总字节数的限制下计算的段数),则需要从不同位置开始选归并段组合,这些段组合要

进行打分,打分最低的最为一次归并,这样反复挑选,直到所有的候选段都已经挑过。

具体打分公式如下: 

skew * totAfterMergeBytes ^ 0.05 * nunDelRatio^2.0

如果归并段接近5G(hitLarge=true),skew=1/10,否则为floorsize(candidate(0)) / totAfterMergeBytesFloored。

findForcedMerges提供segmentsToMerge,findForcedMerge对其中是original的段按size()降序排,按照30个一组,从最小的段一次一次添加merge,最后剩下(maxSegmentCount - 1)个段不归并(除非段数>不够)。 

findForcedDeletesMerges对于删除文档数超过20%且不是正在归并的段,按照size()排序,按30个一组,从最小的段做一次次归并。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值