如何配置 Solr 索引文件的最大大小?
问问题
2300 次
2 回答
3
根据讨论 - Solr 用户邮件列表上的控制段大小,不幸的是,没有任何方法可以控制 Solr 索引文件(也称为段)的最大大小。
为了使答案包含实际的详细信息,以下是线程中的详细信息:
您要设置:maxMergeDocs。“在合并段时,Lucene 将确保不会创建超过 maxMergeDocs 的段。”
无法将单个文件限制为特定大小。
单个段将包含不超过 maxMergeDocs 数量的文档。但是段的大小可能仍然不同,因为某些文档可能比其他文档具有更多的唯一标记。
您最初看到的一定是段合并,这是正常的并且发生在索引过程中。除了拥有高得离谱的mergeFactor(这会影响搜索性能)之外,我认为没有其他方法可以避免这种情况。
于 2012-11-01T02:28:55.120 回答
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>
于 2019-04-23T09:11:17.510 回答