
SegmentMerger
- Namespace
- Rowles.LeanLucene.Index.Segment
- Assembly
- Rowles.LeanLucene.dll
Tiered merge policy. When the number of segments at a given size tier exceeds a configurable threshold, the smallest segments in that tier are merged into one. Old segments are removed only after the merged segment is fully committed.
public sealed class SegmentMerger
SegmentMerger
SegmentMerger(MMapDirectory, int, int, IMetricsCollector?)
Initialises a merger bound to the given directory.
DefaultMergeThreshold
Default merge threshold: when this many segments exist, merge.
DefaultSkipInterval
Default postings skip interval.

CleanupSegmentFiles(SegmentInfo)
MaybeMerge(List<SegmentInfo>, ref int)
Checks if a merge is needed and performs it. Returns the updated segment list.
MaybeMerge(List<SegmentInfo>, ref int, IReadOnlySet<string>)
Checks if a merge is needed and performs it, excluding segments protected by held snapshots.