Lucene 段文件(segment, si)格式分析

Lucene 段文件(segment, si)格式分析,第1张

解释:

再次读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 文件格式一致,请参考此块文件内容。

ELF格铅早基式文件中segment与section到底有什么区别?

ELF中的section主要提供给Linker用的, 而segment提供给Loader用. Linker需要关心.text, .rel.text, .data, .rodata等等, 一个重点是link时要做relocation. 而 Loader 只需要知道 Read/睁备Write/Execute. a.out格式没有这种区槐谨分, 我想ELF这么做提供了更多的灵活性


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/12143629.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存