因此,我尝试压缩倒排索引,并且使用了v字节编码算法来压缩文档和职位列表,然后执行
pickle.dump(v)
转换为二进制文件。然后我尝试通过
加载文件pickle.loads(f)
然后我尝试通过解码算法对其进行解码
//Encoding algorithm
def vbyte():
for k, v in term_position_dic.items():
b = []
for i in v:
while i >= 128:
b.append(i & 0x7f)
i >>= 7
b.append(i | 0x80)
term_position_dic[k] = b
然后我尝试通过
进行解码loading the file
p = f.read(CompressedLookup['scene']['size'])
//decoding code
def vbytedecode(inp):
for i in range(len(inp)):
pos = 0
result = inp[i] & 0x7f
print(result)
while (inp[i] & 0x80) == 0:
i += 1
pos += 1
b = inp[i] & 0x7f
result |= (b << (7*pos))
return(result)
运行此命令时,我得到的字节数组索引超出错误ERROR的范围。为什么会发生这种情况?
先谢谢您。