是否有已知的数学公式可用于估计新 Lucene 索引的大小?我知道我想要索引多少个字段,以及每个字段的大小。而且,我知道有多少项目将被索引。那么,一旦这些被 Lucene 处理后,它是如何转换成字节的呢?

有帮助吗?

解决方案

这里是 lucene索引格式文档。主要文件是复合索引(.cfs 文件)。如果您有术语统计信息,则可能可以获得.cfs文件大小的估计值,请注意,根据您使用的分析仪以及定义的字段类型,这有很大变化。

其他提示

索引仅存储每个“令牌”或文本字段等一次......因此大小取决于被索引材料的性质。添加到存储的内容中。一种好的方法可能是获取样本并为其建立索引,然后使用它来推断出完整的源集合。但是,索引大小与源大小的比率也会随着时间的推移而减小,因为索引中已经存在这些单词,因此您可能希望使样本占原始样本的相当大的百分比。

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

此外,可能对您是否使用术语向量以及是否存储字段有一点依赖性。你能提供更多细节吗?您可以分析源数据的术语频率吗?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top