首页 > 代码库 > Lucene 4.0 TieredMergePolicy
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个一组,从最小的段做一次次归并。
Lucene 4.0 TieredMergePolicy
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。