在前面的部分中,对于swish-e读取文件内容,将分析所得的词条加入到hash表中的过程。
当所有的词条处理完成以后,此时在sw->hashentries[VERYBIGHASHSIZE]表中则存放了所有的词条。
此时需要对于这些词条进行一定的压缩处理,才能最后写入到索引文件中。
本节开始,对于词条信息的压缩过程进行阐述。
在index.c L1200开始进行Compress the entries。
2.4 词条信息的压缩过程
2.4.1 CompressCurrentLocEntry词条压缩算法
遍历hashentries哈希数组中的词条,通过compress_location对于位置信息进行压缩。
2.4.2 compress_location词条位置信息压缩过程
2.4.3 compress_location_values压缩过程
通过以上的处理,对于filenum,频率都进行了压缩。