我拥有一系列匿名的医疗数据文本文件(包括年龄、国家、症状、诊断等)。这些数据可以追溯至30年前,因此数据集相当大。总共有约20,000个文本文件,总计约1TB。
我需要定期搜索这些文件中特定字符串的出现情况(不是正则表达式)。有什么最快的方法可以搜索这些数据吗?
我已经尝试使用grep并递归地搜索目录,如下所示:
LC_ALL=C fgrep -r -i "searchTerm" /Folder/Containing/Files
上述方法唯一的问题在于搜索这些数据需要花费数小时(有时甚至半天!)。
有没有更快的搜索方式?目前我愿意尝试不同的方法,例如使用数据库、elasticsearch等。如果我选择使用数据库,将有约10亿条记录。
我的要求只有:
1)搜索将在我的本地计算机上进行(双核CPU和8GB RAM)
2)我将搜索字符串(而非正则表达式)。
3)我需要看到所有出现搜索字符串的位置以及所在文件。