1

我正在尝试不同的基础架构方法,我很惊讶地注意到以下内容。

我已经通过 Solr4.4 中的 sql 查询使用 DataImportHandler 索引了 130 万个文档(所有字段被索引、存储和一些 shingle-analyzed)

方法 1:单个 Solr 实例

索引时间:~10 分钟

“索引”文件夹大小:1.6GB

方法 2:具有两个索引切片的 SolrCloud。

索引时间:~11 分钟

“索引”文件夹的大小:1.6GB + 1.5GB = 3.1GB

每个索引切片都有大约 0.65M 的文档添加到预期的原始总数中。

Approach3:SolrCloud 有两个分片(1 个领导者 + 1 个副本)

索引时间:~30 分钟

“索引”文件夹的大小:Leader (4.6GB),replica (3.8GB) = 8.4GB(预计为 1.6gb * 2,但约为 1.6gb*5.25)

我遵循了SolrCloud 教程

我意识到有一些元数据(如果我错了,请纠正我),如术语字典等,无论切片(分区)或分片(复制),它们都必须存在于所有实例中。

然而,方法 2 和方法 3 显示最终索引大小急剧增长 ( 400% )。

请您提供见解。

4

1 回答 1

1

从整体索引大小来看,我想您的文档非常小。这就是术语字典的相对大小很大的原因——对于那么多文档来说,它非常相似,所以你有两次。因此1.6变成3.1Gb。

至于方法 3 - 你确定这是一个干净的测试吗?您是否有可能在大小中包含事务日志?如果优化会发生什么?您可以通过检查索引文件扩展名来检查究竟增加了什么。见这里: https ://lucene.apache.org/core/4_2_0/core/org/apache/lucene/codecs/lucene42/package-summary.html#file-names

于 2013-10-19T17:44:31.553 回答