如何设置/配置solr索引文件的最大大小?

时间:2012-10-31 21:33:25

标签: solr full-text-search search-engine lucene

如何配置Solr索引文件的最大大小?

2 个答案:

答案 0 :(得分:2)

根据Solr用户邮件列表中的讨论 - Control Segment Size,遗憾的是,无法控制Solr索引文件(也称为段)的最大大小。

为了使答案包含实际细节,以下是该主题的详细信息:

您想要设置:maxMergeDocs。 “在合并细分时,Lucene将确保不会创建超过maxMergeDocs的细分市场。”

无法将单个文件限制为特定大小。

单个细分受众群的数量不得超过maxMergeDocs 文档。但由于某些文件,该细分受众群的规模可能仍有所不同 可能比其他人拥有更多独特的令牌。

您最初看到的必须是正常的段合并 在索引过程中发生。我认为没有办法避免这种情况 除了有一个可笑的高mergeFactor(这将影响搜索 性能)。

答案 1 :(得分:1)

从solr 6开始,现在可以设置段的最大大小。 请注意,maxMergeDocs已被弃用

默认mergePolicyFactoryTieredMergePolicyFactory。它具有属性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>