搜索非常大的数据集的最佳方式?

时间:2016-06-24 14:41:08

标签: search full-text-search

我的文本文件包含大约12gbs的推文,需要从关键字中搜索此数据集。这样做的最佳方法是什么?

熟悉Java,Python,R。我不认为我的计算机可以处理这些文件,例如,我在python中执行某些遍历每个文本文件的脚本

2 个答案:

答案 0 :(得分:1)

“哦,Python,或任何其他语言,最能肯定的。”可能需要几秒钟,但工作将完成。我建议你解决问题的最佳方法是:“直线前进”。编写一次一行处理文件的脚本。

虽然“12千兆字节”对我们来说听起来很重要,对于任何现代机器来说都不是那么大。

根据需要在内存中构建哈希(关联数组)。通常避免数据库操作(除了“SQLite”数据库文件,可能......),但是,如果您碰巧发现自己需要“索引文件存储”,SQLite是一个了不起的工具。

。 。 。有一个非常重要的警告:“当使用SQLite时,使用事务,即使在阅读时也是如此。”默认情况下,SQLite将物理提交每次写入并物理验证每次读取,除非您在事务中。然后,只有这样,它才会“懒惰读/写”,正如您可能期望它一直在做的那样。 (然后,“那个傻瓜的 f-a-s-t ......!”

答案 1 :(得分:0)

如果你想要准确,那么你需要在每个文件上看一次,所以如果你的计算机无法承担这个负载,那么告别准确。

另一种方法是使用速度比精确速度快的approximation algorithms,但这会导致失去准确性。

这应该让你开始,我会在这里停止我的回答,因为这个主题太宽泛了,无法从这里继续。