Hi All,

I recently looked at the settings for the TieredMergedPolicy [1] and was
puzzled by the note on the setSegmentsPerTier method indicating it should
be equal or larger to the MaxMergeAtOnce settings, in order to not cause
too many merges.

I understood segments per tier to indicate the goal number of segments for
every segment-size tier. If a tier has more segments than that number, all
these segments will be likely to be merged into a single one, which will
then be part of the next tier. From point of view, it's efficient to be
able to collapse the tier in one merge operation. However, if
the MaxMergeAtOnce is smaller then the tier size it will not be able to do
it in one merge but will take several/not produce an segment which is close
to the ideal size of the bigger tier.

Obviously that line of though conflicts with the note of
setSegmentsPerTier's JavaDocs. Do I understand the setting/merge behavior
correctly?

Cheers,
Boaz





[1]
http://lucene.apache.org/core/4_3_0/core/org/apache/lucene/index/TieredMergePolicy.html

Reply via email to