码迷,mamicode.com
首页 > 其他好文 > 详细

Lucene4.0 LogMergePolicy

时间:2014-05-10 03:50:37      阅读:306      评论:0      收藏:0      [点我收藏+]

标签:lucene   merge policy   

其特点是给定的段列表顺序归并,不像TieredMergePolicy那样按大小排序之后决定。

norm = log(10),levelFloor=log(minMergeSize)/norm,对段列表中的元素,添加level值为log(size)/norm(即使log 10 size)的seg。

从列表位置0开始,取最大的logLevel为maxLevel,levelBottom=(float)(max-0.75)(如果maxLevel<=levelFloor,levelBottom=-1.0,levelBottom<levelFloor则levelBottom=levelFloor)。

从后往前找到第一个level大于等于levelBottom的位置upto,在[start, upto + 1)中以10个一组,在其中如果找不到任何size >= maxMergeSize,sizeDocs >= maxMergeDocs或正在合并的段时,将其加入merges数组。

下次则从1+upto位置开始找归并段。

findForceMerges只发生在IndexWriter中有maxNumSegments限制的情况下。

LogDocMergePolicy中size按照sizeDocs计算,minMergeSize默认为1000.

LogByteSizeMergePolicy中默认minMergeSize是1.6M,maxMergeSize是2G。

Lucene4.0 LogMergePolicy,布布扣,bubuko.com

Lucene4.0 LogMergePolicy

标签:lucene   merge policy   

原文地址:http://blog.csdn.net/jollyjumper/article/details/25427657

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!