Lucene 索引文件的合并(一)之fdx&&fdt&&fdm

从本篇文章开始介绍索引文件合并的过程,其中合并策略合并调度在之前的文章中已经介绍,没有阅读过这些文章并不会影响对本篇文章的理解。

  由于本篇文章是索引文件的合并的开篇文章,故我们先给出各类索引文件合并的先后顺序,如下所示:

图1:

  图1中第96行的merge( )方法在被调用后,就开始依次对各种类型的索引文件进行合并,该方法被调用的时机点如下图所示:

图2:

  图2中的流程图是执行段的合并的完整流程,其介绍可以阅读系列文章执行段的合并。在红框标注的流程点执行索引文件的合并中会调用图1中的第96行的merge( )方法,开始索引文件的合并。我们先介绍索引文件fdx&&fdt&&fdm的合并。

索引文件fdx&&fdt&&fdm的合并流程图

图3:

待合并集合

图4:

  无论执行哪种索引文件的合并,其输入参数都是同一个MergeState对象,该对象中包含了不同索引文件对应的''reader''数组,数组中的某一个"reader"描述了某个段的索引文件信息,如下图所示:

图5:

  所以对于索引文件fdx&&fdt&&fdm的合并,会使用到图3中的StoredFieldsReader[ ]数组,它即是图5中的待合并集合。

 

看这里:https://www.amazingkoala.com.cn/Lucene/Index/2020/1130/180.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值