深入浅出 jackrabbit 八 索引合并(上)
2009-09-17 00:00:00 来源:WEB开发网第二个是把需要加入的 PersistentIndex 加入到对应的分组中。
第三个是判断是否需要合并,如果需要就加到一个队列中,等待被合并。
先看第一段代码:
Java代码
synchronized (lock) {
// initially create buckets
if (indexBuckets.size() == 0) {
long lower = 0;
// default minMergeDocs is 100
long upper = minMergeDocs;
//default maxMergeDocs is 2147483647
// IndexBucket实际上就是一个ArrayList
while (upper < maxMergeDocs) {
indexBuckets.add(new IndexBucket(lower, upper, true));
lower = upper + 1;
//default mergeFactor is 10
upper *= mergeFactor;
}
// one with upper = maxMergeDocs
indexBuckets.add(new IndexBucket(lower, maxMergeDocs, false));
// and another one as overflow, just in case...
indexBuckets.add(new IndexBucket(maxMergeDocs + 1, Long.MAX_VALUE, false));
}
············
仔细阅读代码,我们发现,在初始化 indexBuckets 的代码中,其实按照范围来初始化的,比如当添加第一 IndexBucket 的时候 lower=0 , upper=100
Tags:深入浅出 jackrabbit 索引
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接