估计 Windows Search 索引的大小

估计 Windows Search 索引的大小

我必须使用 Windows Search 索引大量数据,因此我想估算一下索引大小。我已索引了一部分数据(约 60GB;13e6 页文本数据,每页约 4-5KB)。

索引已增长到约 78GB,因此现在它占用的空间比数据本身还要多。这些结果与我读到的内容相矛盾这里

索引的平均大小约为所有被索引内容大小的 10%。

这是索引的预期大小吗?可以做些什么来减少它?

答案1

平均索引大小并不能说明您的索引大小。这可能是因为除了所有文件都被编入索引(由于您的文件都很小,因此从大小百分比来看,这已经很大了),文本文件的内容也被编入索引,从而进一步增加了索引的大小。

答案2

10% 规则依赖于许多假设:

  1. 该语料库包含人类语言的散文文件
  2. 与元数据相比,文件平均大小相当大
  3. 语料库不包含代码文件(.cpp、.cs 等)

第三个原因是索引在磁盘上压缩时假设单词会经常重复。对于大多数文本来说都是如此(检查“the”在索引中出现的次数),但对于代码来说,变量名称中存在如此多独特的“单词”,因此打破了这一假设。

不过,就你的情况而言,我怀疑问题出在第二个方面,即大量的小文件。每个文件都需要存储在索引中,这会产生固定数量的元数据开销。例如,索引必须在内容之上存储每个文件的完整路径、修改日期、创建日期等。每个文件加起来大约 3K,如果平均文件大小为 4-5K,那么这很可能就是问题所在。

如果搜索很重要,而您又无法合并文件,我建议关闭对那些有大量文件类型的内容的索引。这样可以稍微减小文件大小,同时仍然可以搜索文件的元数据。

使用“索引选项”控制面板页面仅索引内容

答案3

我禁用了 Windows 的搜索服务。我使用其他搜索应用程序。只有 900 KB 大小的“Everything”可以进行超快速文件搜索,而“FileSeek Pro”可以搜索文件内容。

相关内容