存储倒排索引

eas*_*sid 5 python information-retrieval inverted-index

我正在做一个关于信息检索的项目。我使用 Hadoop/Python 创建了一个完整的倒排索引。Hadoop 将索引输出为写入文件的 (word,documentlist) 对。为了快速访问,我使用上述文件创建了一个字典(哈希表)。我的问题是,如何将这样的索引存储在具有快速访问时间的磁盘上。目前我正在使用 python pickle 模块存储字典并从中加载,但它一次将整个索引带入内存(或者是吗?)。请提出一种存储和搜索索引的有效方法。

我的字典结构如下(使用嵌套字典)

{word : {doc1:[locations], doc2:[locations], ....}}

这样我就可以通过 dictionary[word].keys() ... 获取包含单词的文档。

S.L*_*ott 5

搁置

目前我正在使用 python pickle 模块存储字典并从中加载,但它一次将整个索引带入内存(或者是吗?)。

是的,它确实带来了一切。

那是问题吗?如果这不是一个实际问题,那么坚持下去。

如果这是一个问题,你有什么样的问题?太慢了?太快?颜色太鲜艳?占用了太多内存?你有什么问题?