Lucene40PostingWriter

本文详细介绍了如何控制freq和prox文件的输出,包括默认设置、编码方式、文档频率存储方式、位置信息存储方式以及缓存跳跃表结构的实现。

控制freq和prox这两个文件的输出,比较简单。

默认skip interval这是16,max skip level这是10.

由源或使用可见VInt编码(而不是速度的传奇PForDelta)。

当存储的文档docid名单delta,假设不存文档频率,是一个delta,存的话假设是1则是(delta << 1) | 1,否则就是两个vint了(delta << 1和termDocFreq)。

最后缓存跳跃表结构。

存位置也类似,只是position是看是否存payload,payloadlength是否和上次一样,offset则是看是否存offset,offsetlength是否也是最后一次。假设有payload,上次写payload。

加分后term,写入跳过表结构(它应该是在tim文件)。

一个段的所有文件,等都加完,来电flushTermsBlock,第一次去RamOutputStream写字典freqStart,proxStart,skipStart信息,最后flush进入tip文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值