Lucene中的合并因子mergeFactor

131 篇文章 2 订阅
mergeFactor
是用来决定segment该如何被addDocument()方法进行合并的。
当mergeFactor取比较小的值时,索引时所使用的内存较少
而且搜素未优化的速度会比较快。因此,mergeFactor取值较大时(比如大于10),
适合于批量的索引建立,而当搜索未优化索引的速度会更快,但是索引建立的速度会比较慢。
当mergeFactor取较大的值时,建立索引的速度会比较快。因此,mergeFactor取值较大时(比如大于10)
适合于这些批量的索引建立,而当mergeFactor取较小的值时,适合于间歇性的向索引加入文档。
这个合并因子在Lucene的索引建立过程中起到很重要的作用:
(1)、将mergeFactor的因子设为10, 那么每向索引添加10个Document时,就会有一个新的segment在磁盘上建立起来。
(2)、当第10个这样的segment建立好后,它们会被合并成为一个具有100个Document的新segment。
(3)、接下来,每个100个Document又会创建一个新的segment,当第999个文档被加入索引时,
此时磁盘上应该已经有了9个segment,其中每个都有100个Document,而第901个到999个Document此时正在内存中,
还未被写入磁盘中。
(4)、倘若此时,再向索引中加入一个Document,那么,前面9个segment就会和这第10个
新创建的segment进行合并,成为一个具有1000个Documentde segment。过程依次类推。


//为了防止segment中文档数量会增长的快,所以用maxMergementDocs限制最大的存储在segment的文档数。
//minMergementDocs又叫做maxBufferedDocs指的是每次将索引被刷到磁盘的时候,内存的数量



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杨鑫newlfe

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值