6

mergeFactorはセグメント内の最大数と考えることができると思いましたが、10に設定すると、インデックスの後に16セグメントを取得し、セグメント内の数が15と20を超えるとマージが発生しました。mergeFactorの平均については本当に混乱しています。

これが私の設定です

<ramBufferSizeMB>32</ramBufferSizeMB>
<maxBufferedDocs>100000</maxBufferedDocs>
<mergeFactor>10</mergeFactor>
4

1 に答える 1

12

SolrWikiから-SolrPerformanceFactors-マージファクターのドキュメント

mergeFactorは、セグメントの数を大まかに決定します。mergeFactor値は、Luceneに、単一のセグメントにマージする前に構築する同じサイズのセグメントの数を指示します。記数法のベースと考えることができます。

これは正確な数値ではありませんが、ディスク上でインデックスを管理する方法のガイドラインです。この値のさまざまな設定がインデックスのパフォーマンスにどのように影響するかについての追加の優れたガイダンスを次に示します。

mergeFactorのトレードオフ

高い値のマージ係数(例:25):

  • プロ:一般的にインデックス作成速度が向上します
  • 短所:マージの頻度が少なくなり、検索が遅くなる可能性のあるインデックスファイルが多いコレクションになります

低い値のマージ係数(例、2):

  • 長所:インデックスファイルの数が少ないため、検索が高速化されます。
  • 短所:セグメントのマージが増えると、インデックス作成が遅くなります。

また、mergeFcatorがどのように機能し、インデックスのパフォーマンスに影響を与える可能性があるかについての詳細については、LucidworksサイトのmergeFactorドキュメントを参照することもできます。しかし、ここで重要なのはこの段落だと思います。

新しいセグメントを作成すると、最下位レベルのセグメントの数がmergeFactor値を超える場合は、それらすべてのセグメントがマージされて1つの大きなセグメントを形成します。したがって、マージ係数が10の場合、各マージにより、10個の構成要素のそれぞれよりも約10倍大きい単一のセグメントが作成されます。これらの大きなセグメントにmergeFactor設定がある場合、それらはさらに大きな単一セグメントにマージされます。このプロセスは無期限に続行できます。

于 2012-10-10T12:18:37.413 に答える