如何配置Solr索引文件的最大大小?
答案 0 :(得分:2)
根据Solr用户邮件列表中的讨论 - Control Segment Size,遗憾的是,无法控制Solr索引文件(也称为段)的最大大小。
为了使答案包含实际细节,以下是该主题的详细信息:
您想要设置:maxMergeDocs。 “在合并细分时,Lucene将确保不会创建超过maxMergeDocs的细分市场。”
无法将单个文件限制为特定大小。
单个细分受众群的数量不得超过maxMergeDocs 文档。但由于某些文件,该细分受众群的规模可能仍有所不同 可能比其他人拥有更多独特的令牌。
您最初看到的必须是正常的段合并 在索引过程中发生。我认为没有办法避免这种情况 除了有一个可笑的高mergeFactor(这将影响搜索 性能)。
答案 1 :(得分:1)
从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>