【发布时间】:2013-11-25 20:38:12
【问题描述】:
我有一个简单的要求,用户输入一堆单词,系统扫描超过 300 万个文本文件并找到包含这些关键字的文件。如果没有复杂的搜索/索引算法,最有效和最简单的方法是什么?
我曾想过为此使用Scanner 类,但不知道在如此大的文件上的性能。性能不是很高的优先级,但应该在可接受的标准内。
【问题讨论】:
-
您可能需要考虑将关键字存储在数据库中,并使用它来查找匹配项。
-
我会认真考虑使用数据库来实现这种方法,数据库是针对性能进行优化的。还有你说有300万个文本文件,但后来你注意到
performance over such large files,你的意思是这里有大量文件吗?Scanner方法可能适用于正常大小的文件,但我想会影响性能。 -
会有300万+个文件。每个人都有大约 14000 个自然语言单词
-
为什么“没有复杂的搜索/索引算法”?定义复杂,具体说明为什么你有这个约束?当你在做的时候,什么是“可接受的标准”性能?客户在 3 或 4 个工作日内收到回复? :D