天天看点

fdt文件,以正排的方式,存储了field的原始真实数据.也就是说,你添加到所有中的所有field内容.都会存储在此文件

作者:从头开始自学java

fdt文件,以正排的方式, 存储了field的原始真实数据. 也就是说, 你添加到所有中的所有field内容. 都会存储在此文件中.

其中. 对于每一个chunk. 首先会存储一个 ChunkHeader:

其中包括:

docBase : 当前chunk里的第一个docID.

numBufferedDocs slice . 当前块里面缓冲了多少个doc, 可以根据docBase及num来算出每一个docId. 还以bit的方式存储了当前chunk是否分片.

存储每个文档有多少个field. (数组)

存储每个文档的field信息长度(字节长度) (数组)

之后,会将当前chunk的所有field信息进行压缩存储.

其中依次罗列了所有的doc, 每个doc中罗列了所有的field.

field信息中, 存储了:

FieldNumberAndType: field的编号及类型

Value: 实际的值, 根据不同类型(int,long,string,bytes等),存储方法不同.

fdt文件,以正排的方式,存储了field的原始真实数据.也就是说,你添加到所有中的所有field内容.都会存储在此文件
fdt文件,以正排的方式,存储了field的原始真实数据.也就是说,你添加到所有中的所有field内容.都会存储在此文件
fdt文件,以正排的方式,存储了field的原始真实数据.也就是说,你添加到所有中的所有field内容.都会存储在此文件
fdt文件,以正排的方式,存储了field的原始真实数据.也就是说,你添加到所有中的所有field内容.都会存储在此文件