Class SortingMergePolicy
  
  A Lucene.Net.Index.MergePolicy that reorders documents according to a Lucene.Net.Search.Sort
before merging them. As a consequence, all segments resulting from a merge
will be sorted while segments resulting from a flush will be in the order
in which documents have been added.
NOTE: Never use this policy if you rely on
AddDocuments(IEnumerable<IEnumerable<IIndexableField>>, Analyzer) 
to have sequentially-assigned doc IDs, this policy will scatter doc IDs.
NOTE: This policy should only be used with idempotent Lucene.Net.Search.Sorts 
so that the order of segments is predictable. For example, using 
INDEXORDER in reverse (which is not idempotent) will make 
the order of documents in a segment depend on the number of times the segment 
has been merged.
This is a Lucene.NET EXPERIMENTAL API, use at your own risk
 
  
  
    Inheritance
    System.Object
    Lucene.Net.Index.MergePolicy
    SortingMergePolicy
   
  
    Implements
    System.IDisposable
   
  
    Inherited Members
    
      Lucene.Net.Index.MergePolicy.DEFAULT_NO_CFS_RATIO
    
    
      Lucene.Net.Index.MergePolicy.DEFAULT_MAX_CFS_SEGMENT_SIZE
    
    
      Lucene.Net.Index.MergePolicy.m_writer
    
    
      Lucene.Net.Index.MergePolicy.m_noCFSRatio
    
    
      Lucene.Net.Index.MergePolicy.m_maxCFSSegmentSize
    
    
      Lucene.Net.Index.MergePolicy.Dispose()
    
    
      Lucene.Net.Index.MergePolicy.Size(Lucene.Net.Index.SegmentCommitInfo)
    
    
      Lucene.Net.Index.MergePolicy.IsMerged(Lucene.Net.Index.SegmentInfos, Lucene.Net.Index.SegmentCommitInfo)
    
    
      Lucene.Net.Index.MergePolicy.NoCFSRatio
    
    
      Lucene.Net.Index.MergePolicy.MaxCFSSegmentSizeMB
    
    
      System.Object.Equals(System.Object)
    
    
      System.Object.Equals(System.Object, System.Object)
    
    
      System.Object.GetHashCode()
    
    
      System.Object.GetType()
    
    
      System.Object.MemberwiseClone()
    
    
      System.Object.ReferenceEquals(System.Object, System.Object)
    
   
  
  Assembly: Lucene.Net.Misc.dll
  Syntax
  
    public sealed class SortingMergePolicy : MergePolicy, IDisposable
   
  Constructors
  
  
    |
    Improve this Doc
  
  
    View Source
  
  
  SortingMergePolicy(MergePolicy, Sort)
  Create a new Lucene.Net.Index.MergePolicy that sorts documents with the given sort.
 
  
  Declaration
  
    public SortingMergePolicy(MergePolicy in, Sort sort)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | Lucene.Net.Index.MergePolicy | 
        in | 
         | 
      
      
        | Lucene.Net.Search.Sort | 
        sort | 
         | 
      
    
  
  Fields
  
  
    |
    Improve this Doc
  
  
    View Source
  
  SORTER_ID_PROP
  Put in the Diagnostics to denote that
this segment is sorted.
 
  
  Declaration
  
    public static readonly string SORTER_ID_PROP
   
  Field Value
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.String | 
         | 
      
    
  
  Methods
  
  
    |
    Improve this Doc
  
  
    View Source
  
  
  Clone()
  
  
  Declaration
  
    public override object Clone()
   
  Returns
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Object | 
         | 
      
    
  
  Overrides
  Lucene.Net.Index.MergePolicy.Clone()
  
    |
    Improve this Doc
  
  
    View Source
  
  
  Dispose(Boolean)
  
  
  Declaration
  
    protected override void Dispose(bool disposing)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | System.Boolean | 
        disposing | 
         | 
      
    
  
  Overrides
  
  
    |
    Improve this Doc
  
  
    View Source
  
  
  FindForcedDeletesMerges(SegmentInfos)
  
  
  Declaration
  
    public override MergePolicy.MergeSpecification FindForcedDeletesMerges(SegmentInfos segmentInfos)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | Lucene.Net.Index.SegmentInfos | 
        segmentInfos | 
         | 
      
    
  
  Returns
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | Lucene.Net.Index.MergePolicy.MergeSpecification | 
         | 
      
    
  
  Overrides
  Lucene.Net.Index.MergePolicy.FindForcedDeletesMerges(Lucene.Net.Index.SegmentInfos)
  
    |
    Improve this Doc
  
  
    View Source
  
  
  FindForcedMerges(SegmentInfos, Int32, IDictionary<SegmentCommitInfo, Nullable<Boolean>>)
  
  
  Declaration
  
    public override MergePolicy.MergeSpecification FindForcedMerges(SegmentInfos segmentInfos, int maxSegmentCount, IDictionary<SegmentCommitInfo, bool?> segmentsToMerge)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | Lucene.Net.Index.SegmentInfos | 
        segmentInfos | 
         | 
      
      
        | System.Int32 | 
        maxSegmentCount | 
         | 
      
      
        | System.Collections.Generic.IDictionary<Lucene.Net.Index.SegmentCommitInfo, System.Nullable<System.Boolean>> | 
        segmentsToMerge | 
         | 
      
    
  
  Returns
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | Lucene.Net.Index.MergePolicy.MergeSpecification | 
         | 
      
    
  
  Overrides
  
  
    |
    Improve this Doc
  
  
    View Source
  
  
  FindMerges(MergeTrigger, SegmentInfos)
  
  
  Declaration
  
    public override MergePolicy.MergeSpecification FindMerges(MergeTrigger mergeTrigger, SegmentInfos segmentInfos)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | Lucene.Net.Index.MergeTrigger | 
        mergeTrigger | 
         | 
      
      
        | Lucene.Net.Index.SegmentInfos | 
        segmentInfos | 
         | 
      
    
  
  Returns
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | Lucene.Net.Index.MergePolicy.MergeSpecification | 
         | 
      
    
  
  Overrides
  Lucene.Net.Index.MergePolicy.FindMerges(Lucene.Net.Index.MergeTrigger, Lucene.Net.Index.SegmentInfos)
  
    |
    Improve this Doc
  
  
    View Source
  
  
  IsSorted(AtomicReader, Sort)
  Returns true if the given reader is sorted by the specified sort.
 
  
  Declaration
  
    public static bool IsSorted(AtomicReader reader, Sort sort)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | Lucene.Net.Index.AtomicReader | 
        reader | 
         | 
      
      
        | Lucene.Net.Search.Sort | 
        sort | 
         | 
      
    
  
  Returns
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Boolean | 
         | 
      
    
  
  
    |
    Improve this Doc
  
  
    View Source
  
  
  SetIndexWriter(IndexWriter)
  
  
  Declaration
  
    public override void SetIndexWriter(IndexWriter writer)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | Lucene.Net.Index.IndexWriter | 
        writer | 
         | 
      
    
  
  Overrides
  Lucene.Net.Index.MergePolicy.SetIndexWriter(Lucene.Net.Index.IndexWriter)
  
    |
    Improve this Doc
  
  
    View Source
  
  
  ToString()
  
  
  Declaration
  
    public override string ToString()
   
  Returns
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.String | 
         | 
      
    
  
  Overrides
  System.Object.ToString()
  
    |
    Improve this Doc
  
  
    View Source
  
  
  UseCompoundFile(SegmentInfos, SegmentCommitInfo)
  
  
  Declaration
  
    public override bool UseCompoundFile(SegmentInfos segments, SegmentCommitInfo newSegment)
   
  Parameters
  
    
      
        | Type | 
        Name | 
        Description | 
      
    
    
      
        | Lucene.Net.Index.SegmentInfos | 
        segments | 
         | 
      
      
        | Lucene.Net.Index.SegmentCommitInfo | 
        newSegment | 
         | 
      
    
  
  Returns
  
    
      
        | Type | 
        Description | 
      
    
    
      
        | System.Boolean | 
         | 
      
    
  
  Overrides
  Lucene.Net.Index.MergePolicy.UseCompoundFile(Lucene.Net.Index.SegmentInfos, Lucene.Net.Index.SegmentCommitInfo)
  Implements
  
      System.IDisposable