1. wordlist
0) 0, 1byte
1) token-id(delta), 8byte
2) doclist-offset(delta), 8byte
3) doc_count, 4byte
4) hit_count, 4byte
1)-4)为一组数据,重复出现,每1024(wordlist_checkpoint)组出现一个checkpoint
checkpoint:
5) 0, 8byte : indicate checkpoint
6) doclist中对应数据长度, 8byte
last:
WordlistCheckpoint数据
7) token_id, 8byte
8) wordlist-offset, 8byte
2. doclist
0) 0, 1byte
1) doc_count_in_block, 4byte
2) hitlist_offset, 8byte
3) array:doc-id-delta, 4byte
1) - 3)为一个block,不断重复,*当token_id变化时 或 满了 64(max_num_doc_in_one_block)个doc时,写出一个block
4) 0, 4byte: 标识着一个token的block的结束
3. hitlist
0) 0, 1byte
1) block_size, 4byte
2) gamma-ziped:array:hit_freq/doc,
3) gamma-ziped:array:extend_freq/doc,
4) array:sec_pos_delta/hit, 4byte
5) array:attr/hit, 8byte
6) array:extend_attr/hit
1) - 6)为一个block,与doclist中的block对应, 创建规则与doclist一致
4. jumplist
0) token_id, 8byte
1) array:
1. doc_id/doc, 4byte the 1st doc-id in block
2. array2:doclist-offset/doc, 8byte
2) 0