Class MergePolicy.OneMerge
OneMerge provides the information necessary to perform an individual primitive merge operation, resulting in a single new segment. The merge spec includes the subset of segments to be merged as well as whether the new segment should use the compound file format.
Inherited Members
Namespace: Lucene.Net.Index
Assembly: Lucene.Net.dll
Syntax
public class MergePolicy.OneMerge
Constructors
OneMerge(IList<SegmentCommitInfo>)
Sole constructor.
Declaration
public OneMerge(IList<SegmentCommitInfo> segments)
Parameters
Type | Name | Description |
---|---|---|
IList<SegmentCommitInfo> | segments | List of SegmentCommitInfos to be merged. |
Properties
EstimatedMergeBytes
Estimated size in bytes of the merged segment.
Declaration
public long EstimatedMergeBytes { get; }
Property Value
Type | Description |
---|---|
long |
Info
Expert: Sets the SegmentCommitInfo of this MergePolicy.OneMerge. Allows sub-classes to e.g. set diagnostics properties.
Declaration
public virtual SegmentCommitInfo Info { get; set; }
Property Value
Type | Description |
---|---|
SegmentCommitInfo |
MaxNumSegments
OneMerge provides the information necessary to perform an individual primitive merge operation, resulting in a single new segment. The merge spec includes the subset of segments to be merged as well as whether the new segment should use the compound file format.
Declaration
public int MaxNumSegments { get; set; }
Property Value
Type | Description |
---|---|
int |
MergeInfo
Return MergeInfo describing this merge.
Declaration
public virtual MergeInfo MergeInfo { get; }
Property Value
Type | Description |
---|---|
MergeInfo |
Segments
Segments to be merged.
Declaration
public IList<SegmentCommitInfo> Segments { get; }
Property Value
Type | Description |
---|---|
IList<SegmentCommitInfo> |
TotalBytesSize
Returns the total size in bytes of this merge. Note that this does not indicate the size of the merged segment, but the input total size. This is only set once the merge is initialized by IndexWriter.
Declaration
public virtual long TotalBytesSize { get; }
Property Value
Type | Description |
---|---|
long |
TotalDocCount
Number of documents in the merged segment.
Declaration
public int TotalDocCount { get; }
Property Value
Type | Description |
---|---|
int |
TotalNumDocs
Returns the total number of documents that are included with this merge. Note that this does not indicate the number of documents after the merge.
Declaration
public virtual int TotalNumDocs { get; }
Property Value
Type | Description |
---|---|
int |
Methods
CheckAborted(Directory)
Called periodically by IndexWriter while merging to see if the merge is aborted.
Declaration
public virtual void CheckAborted(Directory dir)
Parameters
Type | Name | Description |
---|---|---|
Directory | dir |
GetDocMap(MergeState)
Expert: If GetMergeReaders() reorders document IDs, this method must be overridden to return a mapping from the natural doc ID (the doc ID that would result from a natural merge) to the actual doc ID. This mapping is used to apply deletions that happened during the merge to the new segment.
Declaration
public virtual MergePolicy.DocMap GetDocMap(MergeState mergeState)
Parameters
Type | Name | Description |
---|---|---|
MergeState | mergeState |
Returns
Type | Description |
---|---|
MergePolicy.DocMap |
GetMergeReaders()
Expert: Get the list of readers to merge. Note that this list does not necessarily match the list of segments to merge and should only be used to feed SegmentMerger to initialize a merge. When a MergePolicy.OneMerge reorders doc IDs, it must override GetDocMap(MergeState) too so that deletes that happened during the merge can be applied to the newly merged segment.
Declaration
public virtual IList<AtomicReader> GetMergeReaders()
Returns
Type | Description |
---|---|
IList<AtomicReader> |
SegString(Directory)
Returns a readable description of the current merge state.
Declaration
public virtual string SegString(Directory dir)
Parameters
Type | Name | Description |
---|---|---|
Directory | dir |
Returns
Type | Description |
---|---|
string |