Lucene.Net.Index.Sorter.SortingMergePolicy.IsSorted C# (CSharp) Метод

IsSorted() публичный статический Метод

Returns true if the given reader is sorted by the specified sort.
public static IsSorted ( AtomicReader reader, Lucene.Net.Search.Sort sort ) : bool
reader AtomicReader
sort Lucene.Net.Search.Sort
Результат bool
        public static bool IsSorted(AtomicReader reader, Sort sort)
        {
            if (reader is SegmentReader)
            {
                SegmentReader segReader = (SegmentReader)reader;
                IDictionary<string, string> diagnostics = segReader.SegmentInfo.Info.Diagnostics;
                var diagnosticsSort = diagnostics.ContainsKey(SORTER_ID_PROP) ? diagnostics[SORTER_ID_PROP] : null;
                if (diagnostics != null && sort.ToString().Equals(diagnosticsSort))
                {
                    return true;
                }
            }
            return false;
        }

Usage Example

 public virtual void SetNextReader(AtomicReaderContext context)
 {
     m_in.SetNextReader(context);
     m_segmentSorted       = SortingMergePolicy.IsSorted(context.AtomicReader, m_sort);
     m_segmentTotalCollect = m_segmentSorted ? m_numDocsToCollect : int.MaxValue;
     numCollected          = 0;
 }