1

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

4

2 回答 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 回答