如何配置Solr Index文件的最大大小?
发布于 2012-11-01 02:28:55
根据Solr用户邮件列表上的讨论- Control Segment Size,不幸的是,没有任何方法来控制Solr索引文件(也称为段)的最大大小。
为了使答案包含实际的详细信息,以下是来自该线程的详细信息:
您想要设置: maxMergeDocs。“在合并分段时,Lucene将确保不会创建超过maxMergeDocs的分段。”
无法将单个文件限制为特定大小。
单个片段包含的文档数量不会超过maxMergeDocs个。但是段的大小可能仍然不同,因为某些文档可能比其他文档具有更多的唯一标记。
你最初看到的肯定是一个片段合并,这是正常的,并且发生在索引过程中。我认为除了高得离谱的mergeFactor (这会影响搜索性能)之外,没有其他方法可以避免这种情况。
发布于 2019-04-23 09:11:18
从solr 6开始,现在可以设置段的最大大小。请注意,maxMergeDocs
是不推荐使用的。
默认mergePolicyFactory
为TieredMergePolicyFactory
。它有一个控制段大小的属性MaxMergedSegmentMB
。来自javadocs
如果合并将产生大于setMaxMergedSegmentMB(double)的段,则策略将合并较少的段(如果该段有删除,则一次减少到1),以将段大小保持在预算之内。
例如,要将最大段大小设置为3000 MB:
<mergePolicyFactory class="solr.TieredMergePolicyFactory">
<int name="maxMergeAtOnce">10</int>
<int name="segmentsPerTier">10</int>
<int name="maxMergedSegmentMB">3000</int>
</mergePolicyFactory>
https://stackoverflow.com/questions/13167767
复制相似问题