Lucene 索引文件的载入(一)之fdx&&fdt&&fdm

在文章SegmentReader(一)中,我们介绍了SegmentReader对象,它用于描述一个段中的索引信息,并且说到SegmentReader对象中包含了一个SegmentCoreReaders对象。

图1:

  图1中,蓝框标注的两个对象用于描述DocValues的索引信息,而红框标注的SegmentCoreReader则描述了下面的索引信息,注意的是在文章SegmentReader(一)中是基于Lucene 7.5.0的:

表一:

对象描述
StoredFieldsReader索引文件fdx&&fdt中读取存储域的索引信息
FieldsProducer索引文件tim&&tip索引文件doc索引文件pos&&pay中读取域的倒排信息
TermVectorsReader索引文件tvx&&tvd读取词向量的索引信息(用于高亮优化查询)
PointsReader索引文件dim&&dii中读取域值为数值类型的索引信息
NormsProducer索引文件nvd&&nvm中读取域的打分信息(作为对文档进行打分的参数)
FieldInfos索引文件fnm读取域的信息

  在文章SegmentReader(一)中,并没有对每一种索引文件进行详细的读取过程的介绍,故索引文件的载入的系列文章对此将详细的展开。

  该系列文章将要介绍的内容可以概述为这么一句话:在初始化一个读取索引信息的reader期间,索引文件如何被读取(载入)。由于只是初始化一个reader,而不是处于一个查询阶段,所以只有部分索引文件的信息会被载入到内存中。

索引文件的载入顺序

  在SegmentCoreReader类的构造函数中可以看出表一中对应的索引文件的载入顺序:

图2:

  上文中说到,SegmentCoreReader对象是被包含在SegmentReader对象中,故在SegmentReader类的构造函数中,还可以看出DocValues对应的索引文件跟SegmentCoreReader对象中包含的索引文件的载入顺序:

 

剩余内容看这里:https://www.amazingkoala.com.cn/Lucene/Index/2021/0218/189.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值