public static IsSorted ( AtomicReader reader, Lucene.Net.Search.Sort sort ) : bool | ||
reader | AtomicReader | |
sort | Lucene.Net.Search.Sort | |
return | 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;
}
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; }