FieldInfos (.fnm) -->Header,FieldsCount, <FieldName,FieldNumber, FieldBits,DocValuesBits,Attributes>FieldsCount
存储的字段由两个文件表示:
1.字段索引或者 .fdx 文件.
这用于查找特定文档字段的字段数据文件中的位置,因为它包含固定长度的数据,所以很容易地随机访问该文件。文档n的字段数据的位置在此文件中Uint64值为 n * 8。
对于每个文档,它包含指向其字段数据的指针,如下所示:
2.字段数据或者 .fdt 文件.
它包含每个文档的存储字段,如下所示:
解释:
再次读Map,首先读取map的size = 0x01 , 接着
后续: 读一个可变Int 以作为 numSortFields, 如图会读到 0x00 , 如果此值不为0, 会对这一字段做进一步解析()。 后面会是文件尾。文件尾长度为16个字节, 依次为 尾Magic, 值为CODEC_MAGIC的反码( 0xc028 93e8 ) 接着会读一个int的 algorithmID 值 0x0000 0000 。 接下来会读一个long类型的checksum 0x0000 0000 e440 e97d 最后会剩下一个 0x0a
回到segment_3文件。
接下来会依次读:
一个Long的 delGen , 值 0x ff ffff ffff ffff ff , 再读一个Int的 delCount ,值为 0x00 0000 00
一个Long的 fieldInfosGen 值为 0xff ffff ffff ffff ff . 一个Long的 dvGen 值为 0x ff ffff ffff ffff ff
一个Int的 softDelCount, 值为 00 0000 00
后会就是文件尾,和 _0.si 文件格式一致,请参考此块文件内容。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)