我试图想出最有效的方法来搜索一个充满文本文件的目录(可能有 2000 个文件,每个文件大约 150 行)以查找关键字。如果我只是搜索一个关键字,那么性能就不是什么大问题,但是在我的应用程序中,我希望能够在以后搜索不同的关键字,可能会搜索多次。因此,每次迭代整个文件集合似乎很耗时。并且将所有内容存储在内存中似乎也相当昂贵。
最好的方法是什么?我无权访问 SQL 数据库或类似的东西,所以我不能暂时将内容转储到数据库中并定期搜索;它只是一个普通的 Windows 应用程序。
我能想到的最原始的方法是将所有文件转储到一个巨大的 XML 文件中并进行搜索——而不是每次发生关键字搜索时都遍历目录中的所有文件。但即使这样似乎也很耗时?
我会提前知道目录名称,所以我可以对内容进行预处理——如果这可能有助于优化的话。
欢迎任何建议,谢谢。