如何估算Lucene索引的大小?

时间:2020-03-05 18:54:10  来源:igfitidea点击:

是否可以使用已知的数学公式来估算新的Lucene索引的大小?我知道我要索引多少个字段,以及每个字段的大小。而且,我知道将为多少项目建立索引。因此,Lucene处理完这些后,如何将其转换为字节?

解决方案

回答

我认为这也与每个术语的出现频率有关(即,相同术语的10,000个副本的索引应该比10,000个完全唯一的术语的索引小得多)。

另外,是否使用术语向量,以及是否存储字段,可能都存在很小的依赖性。我们能否提供更多详细信息?我们可以分析源数据的术语频率吗?

回答

这是Lucene索引格式文档。
主文件是复合索引(.cfs文件)。
如果我们有字词统计信息,则可能可以估算出.cfs文件大小,
请注意,这根据我们使用的分析器和定义的字段类型而有很大差异。

回答

索引仅存储一次"令牌"或者文本字段等,因此大小取决于所索引材料的性质。此外,还要存储任何内容。一种好的方法可能是取样并对其进行索引,然后使用该样本推断出完整的源集合。但是,索引大小与源大小的比率也会随着时间的推移而减小,因为索引中已经存在单词,因此我们可能希望使样本占原始样本的百分比。