Class LogByteSizeMergePolicy
This is a LogMergePolicy that measures size of a segment as the total byte size of the segment's files.
Inherited Members
Namespace: Lucene.Net.Index
Assembly: Lucene.Net.dll
Syntax
public class LogByteSizeMergePolicy : LogMergePolicy
Constructors
| Improve this Doc View SourceLogByteSizeMergePolicy()
Sole constructor, setting all settings to their defaults.
Declaration
public LogByteSizeMergePolicy()
Fields
| Improve this Doc View SourceDEFAULT_MAX_MERGE_MB
Default maximum segment size. A segment of this size or larger will never be merged.
Declaration
public static readonly double DEFAULT_MAX_MERGE_MB
Field Value
Type | Description |
---|---|
System.Double |
See Also
| Improve this Doc View SourceDEFAULT_MAX_MERGE_MB_FOR_FORCED_MERGE
Default maximum segment size. A segment of this size or larger will never be merged during ForceMerge(Int32).
Declaration
public static readonly double DEFAULT_MAX_MERGE_MB_FOR_FORCED_MERGE
Field Value
Type | Description |
---|---|
System.Double |
See Also
| Improve this Doc View SourceDEFAULT_MIN_MERGE_MB
Default minimum segment size.
Declaration
public static readonly double DEFAULT_MIN_MERGE_MB
Field Value
Type | Description |
---|---|
System.Double |
See Also
Properties
| Improve this Doc View SourceMaxMergeMB
Determines the largest segment (measured by total byte size of the segment's files, in MB) that may be merged with other segments. Small values (e.g., less than 50 MB) are best for interactive indexing, as this limits the length of pauses while indexing to a few seconds. Larger values are best for batched indexing and speedier searches.
Note that MaxMergeDocs is also used to check whether a segment is too large for merging (it's either or).
Declaration
public virtual double MaxMergeMB { get; set; }
Property Value
Type | Description |
---|---|
System.Double |
MaxMergeMBForForcedMerge
Determines the largest segment (measured by total byte size of the segment's files, in MB) that may be merged with other segments during forceMerge. Setting it low will leave the index with more than 1 segment, even if ForceMerge(Int32) is called.
Declaration
public virtual double MaxMergeMBForForcedMerge { get; set; }
Property Value
Type | Description |
---|---|
System.Double |
MinMergeMB
Sets the minimum size for the lowest level segments. Any segments below this size are considered to be on the same level (even if they vary drastically in size) and will be merged whenever there are mergeFactor of them. This effectively truncates the "long tail" of small segments that would otherwise be created into a single level. If you set this too large, it could greatly increase the merging cost during indexing (if you flush many small segments).
Declaration
public virtual double MinMergeMB { get; set; }
Property Value
Type | Description |
---|---|
System.Double |
Methods
| Improve this Doc View SourceSize(SegmentCommitInfo)
Declaration
protected override long Size(SegmentCommitInfo info)
Parameters
Type | Name | Description |
---|---|---|
SegmentCommitInfo | info |
Returns
Type | Description |
---|---|
System.Int64 |