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.
Note
This API is experimental and might change in incompatible ways in the next release.
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, 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.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