Solr段mearge策略配置

时间:2013-09-06 05:12:28

标签: solr solrcloud

我使用solrcloud 4.0并且我没有更改任何段合并设置(默认为32 MB)。虽然我的索引大小只有18 MB,但它在管理UI上显示5个段。我不明白这是正确的还是一些错误?

2 个答案:

答案 0 :(得分:1)

索引完全构建后,索引中的段数是固定的,但在索引进行时会有所不同。 Lucene在将新文档添加到索引时添加了段,并且经常合并段。

将新文档添加到Lucene索引时,它们最初存储在内存中,而不是立即写入磁盘。

例如,如果我们将mergeFactor设置为10,则会在磁盘上为添加到索引的每10个文档创建一个新段。当添加大小为10的第10个段时,所有10个段将合并为大小为100的单个段。当添加了10个大小为100的段时,它们将合并为包含1000个文档的单个段,依此类推。因此,在10个索引大小的每个幂中,任何时候都不会超过9个段。

<强> ramBufferSizeMB

一旦累积的文档更新超过这么大的内存空间(以兆字节为单位),就会刷新挂起的更新。这也可以创建新段或触发合并。使用此设置通常比maxBufferedDocs更可取。如果在solrconfig.xml中设置了maxBufferedDocs和ramBufferSizeMB,则在达到任一限制时都会发生刷新。

 <ramBufferSizeMB>32</ramBufferSizeMB>

参考文献:

http://www.onjava.com/pub/a/onjava/2003/03/05/lucene.html

http://docs.lucidworks.com/display/solr/IndexConfig+in+SolrConfig

答案 1 :(得分:-1)

每次提交都会创建1个段,然后检查合并策略,是否需要合并。要么你做了4次提交,要么你做了更多,而不是指定合并政策的水印,并且合并了一些段。您可以使用不同的合并设置here查看合并的可视化。