【发布时间】:2010-09-09 02:06:18
【问题描述】:
是否有一个已知的数学公式可以用来估计新的 Lucene 索引的大小?我知道我想要索引多少个字段,以及每个字段的大小。而且,我知道有多少项目将被编入索引。那么,一旦这些被 Lucene 处理,它是如何转化为字节的呢?
【问题讨论】:
标签: lucene
是否有一个已知的数学公式可以用来估计新的 Lucene 索引的大小?我知道我想要索引多少个字段,以及每个字段的大小。而且,我知道有多少项目将被编入索引。那么,一旦这些被 Lucene 处理,它是如何转化为字节的呢?
【问题讨论】:
标签: lucene
这里是lucene index format documentation。 主要文件是复合索引(.cfs 文件)。 如果您有术语统计信息,您可能可以获得 .cfs 文件大小的估计值, 请注意,这取决于您使用的分析器以及您定义的字段类型。
【讨论】:
索引存储每个“令牌”或文本字段等,仅一次......因此大小取决于被索引材料的性质。再加上正在存储的任何内容。一种好的方法可能是取样并索引它,并使用它来推断完整的源集合。但是,索引大小与源大小的比率也会随着时间的推移而减小,因为索引中已经存在单词,因此您可能希望使样本占原始样本的适当百分比。
【讨论】:
我认为这也与每个术语的频率有关(即,10,000 个相同术语的索引应该远小于 10,000 个完全唯一术语的索引)。
此外,您是否使用术语向量以及是否存储字段可能会产生很小的依赖性。你能提供更多细节吗?你能分析一下你的源数据的词频吗?
【讨论】: