algorithm - 自动获取术语列表,导入 Windows 搜索功能(针对内容),并导出结果列表。 (自动?)

标签 algorithm search full-text-search autoit windows-search

我的下一个重大挑战是编写一个脚本(我假设它会在 AutoIT 中,我在这个领域经验不足)来自动化 Windows 搜索功能。

最终目标是从 .txt 文件中获取搜索词列表(每行一个字符串),并在计算机上的每个文档的内容中搜索所述搜索词(一次一个)。

我可以手动做到这一点 - 打开按内容搜索功能,索引所有附加驱动器上的所有文件,一个一个地搜索术语,并突出显示所有 > shift-click > Copy as path > paste in notepad,并另存为 [searchterm].txt。

但是,我需要使整个过程自动化。我知道我可能需要为将要使用的每个 Windows 版本(XP、Vista、7、8)编写一个单独的脚本。

这是一项很容易完成的任务,还是需要花费大量的编程时间?谁能指出我正确的方向?感谢所有帮助。

最佳答案

好吧,假设您的查询文本文件足够大,并且您不想为每个查询实际迭代整个文件系统,那么您正在描述一个经典的 information retrieval问题。

  1. 索引文件系统中的数据(这是只进行一次的预处理)
  2. 对于每个查询 - 在索引中搜索它,并获取相关文档。

信息检索领域是一个广阔的研究领域,我真的不鼓励您尝试从头开始实现它。

我确实鼓励使用已经为您开发和测试过的内置库。例如,在 Java 中,一个流行的选择是 lucene - 广泛用于到处搜索。

如果你不熟悉 java,我也知道这个库的 python ( pylucene ) 和 .NET ( lucene.NET ) 绑定(bind)。


要了解有关信息检索的更多信息,我推荐 Manning 的 Introduction to Information Retrieval

关于algorithm - 自动获取术语列表,导入 Windows 搜索功能(针对内容),并导出结果列表。 (自动?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13954785/

相关文章:

当没有数据类型可以容纳完整数字时,将十六进制转换为十进制

algorithm - 获取 Heapsort 的前 x 个元素

ruby-on-rails - Sunspot Solr 不使用简单范围

mysql - 在Mysql中搜索相似的字符串

search - VIM 快速 'Find in Files'?

用于获取框放置的 JavaScript 算法

python - 这个 IRR 的实现中使用的数值方法是什么?

c++ - log(n) std::find_if 可能吗?

MySQL boolean 全文搜索 : Change Default Operator to "and"

sql-server - SQL Server 全文索引包含搜索完全匹配包含 "it"