我正在做一个关于信息检索的项目。我使用 Hadoop/Python 制作了一个完整的倒排索引。Hadoop 将索引输出为 (word,documentlist) 对,这些对被写入文件中。为了快速访问,我使用上述文件创建了一个字典(哈希表)。我的问题是,我如何在磁盘上存储这样一个索引,它也具有快速访问时间。目前我正在使用 python pickle 模块存储字典并从中加载,但它会将整个索引一次带入内存(或者是吗?)。请提出一种有效的存储和搜索索引的方法。
我的字典结构如下(使用嵌套字典)
{word : {doc1:[locations], doc2:[locations], ....}}
这样我就可以通过 dictionary[word].keys() ... 等获取包含单词的文档。