如何估计Lucene索引的大小?

eivnm1vs  于 7个月前  发布在  Lucene
关注(0)|答案(4)|浏览(85)

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

xcitsw88

xcitsw881#

这里是lucene index format documentation。主要文件是复合索引(.cfs文件)。如果您有术语统计信息,您可能会得到.cfs文件大小的估计值。请注意,这取决于您使用的Analyzer以及您定义的字段类型。

nnsrf1az

nnsrf1az2#

索引存储每个“标记”或文本字段等,只有一次.所以大小取决于被索引的材料的性质。添加到存储的任何东西。一个好的方法可能是采取样本并索引它,并使用它来推断完整的源集合。然而,索引大小与源大小的比率也会随着时间的推移而减少,因为这些词已经在索引中了,所以你可能想让样本占原始词的一个适当的百分比。

flvlnr44

flvlnr443#

我认为这也与每个术语的频率有关(即10,000个相同术语的索引应该比10,000个完全独特术语的索引小得多)。
此外,可能有一个小的依赖于你是否使用术语向量,当然你是否存储字段。你能提供更多的细节吗?你能分析你的源数据的术语频率吗?

8nuwlpux

8nuwlpux4#

使用java streams oneliner递归获取包含lucene索引的目录的大小。

相关问题