c - 如何从磁盘来回保存和加载一个巨大的哈希表?

标签 c search data-structures hash indexing

出于学习目的,我正在尝试为大型收藏编写一个搜索引擎。我从自己的直觉开始。然后我进行了研究,最终得出了一个工作模型。

我正在构建一个巨大的哈希表来保存我集合中的所有术语。从集合中构造它非常昂贵。一旦我计算出该表,我想将它保存到磁盘,这样每当我想在我的程序中访问这个哈希表时,我都可以从磁盘再次加载它。

有什么标准的方法可以做到这一点,还是我必须发明自己的文件格式和技巧才能做到这一点?

注意:has-table只是用来存储所有term出现的,我打算将主要的排名数据存储在一个postings文件中,并将其指针设置在hash-table对应的term中。

我在 C 语言中工作。

最佳答案

BDB是一个用于高效管理平面文件数据库的库。特别是支持哈希表格式。如果需要有序访问,也可以使用 B 树。

关于c - 如何从磁盘来回保存和加载一个巨大的哈希表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15401854/

相关文章:

c - 如何指示 ld 使用 c 查找其他目录?

c - 这段代码发生了什么?为什么我可以迭代到 335?

c - C语言中如何检查除法的结果是否为整数?

c - puts() 显示 strcpy 的全部内容,即使发生 dest 溢出

regex - 如何在 linux shell 脚本中使用正则表达式搜索文件

Python 列表与数组 : reason for the unexpected performance difference

c - 使用系统调用进行子字符串搜索

Mysql搜索查询两列

javascript - 我们应该如何在彼此内部构建双映射迭代

java - 我需要类似 Java 中的 DataTable 的东西