我的任务是使用spimi
.
我已经成功地将索引拆分为小文件。现在我想合并索引,这样索引值不会覆盖键。字典键是术语,值是文档 ID。如果我使用以下方法,那么它将覆盖具有相同键的值。我真的很希望有人可以通过一次打开多个文件来提出一些好方法来进行这种外部合并排序。
example:
color[1:1,2,5]
color[1:,3,4,5]
after merging
color[1:1,2,3,4,5]
这是我的代码:
def InvertedIndex():
inputbuffer=dict()
path="C:/Users/a_chav/Downloads/reuters21578.tar/reuters21578"
count=0
for filename in os.listdir(path):
if filename.endswith(".p"):
inputbuffer=pickle.load(open(filename,"rb"))
keys=inputbuffer.keys()
pickle.dump(outputbuffer,open("mainindex.p","a"))
count=count+1
print(count)