Package org.apache.solr.index
Class LatestVersionMergePolicy
java.lang.Object
org.apache.lucene.index.MergePolicy
org.apache.lucene.index.FilterMergePolicy
org.apache.solr.index.LatestVersionMergePolicy
- All Implemented Interfaces:
org.apache.lucene.util.Unwrappable<org.apache.lucene.index.MergePolicy>
public class LatestVersionMergePolicy
extends org.apache.lucene.index.FilterMergePolicy
Prevents any older version segment (i.e. older than current lucene major version), either
original or one derived as a result of merging with an older version segment, from being
considered for merges. That way a snapshot of older segments remains consistent. This assists in
upgrading to a future Lucene major version if existing documents are reindexed in the current
version with this merge policy in place.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.lucene.index.MergePolicy
org.apache.lucene.index.MergePolicy.MergeAbortedException, org.apache.lucene.index.MergePolicy.MergeContext, org.apache.lucene.index.MergePolicy.MergeException, org.apache.lucene.index.MergePolicy.MergeSpecification, org.apache.lucene.index.MergePolicy.OneMerge, org.apache.lucene.index.MergePolicy.OneMergeProgress -
Field Summary
Fields inherited from class org.apache.lucene.index.FilterMergePolicy
inFields inherited from class org.apache.lucene.index.MergePolicy
DEFAULT_MAX_CFS_SEGMENT_SIZE, DEFAULT_NO_CFS_RATIO, maxCFSSegmentSize, noCFSRatio -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected booleanallowSegmentForMerge(org.apache.lucene.index.SegmentCommitInfo info) Determines if a SegmentCommitInfo should be part of the candidate set of segments that will be considered for merges.org.apache.lucene.index.MergePolicy.MergeSpecificationfindForcedDeletesMerges(org.apache.lucene.index.SegmentInfos infos, org.apache.lucene.index.MergePolicy.MergeContext mergeContext) org.apache.lucene.index.MergePolicy.MergeSpecificationfindForcedMerges(org.apache.lucene.index.SegmentInfos infos, int maxSegmentCount, Map<org.apache.lucene.index.SegmentCommitInfo, Boolean> segmentsToMerge, org.apache.lucene.index.MergePolicy.MergeContext mergeContext) org.apache.lucene.index.MergePolicy.MergeSpecificationfindFullFlushMerges(org.apache.lucene.index.MergeTrigger mergeTrigger, org.apache.lucene.index.SegmentInfos infos, org.apache.lucene.index.MergePolicy.MergeContext mergeContext) org.apache.lucene.index.MergePolicy.MergeSpecificationfindMerges(org.apache.lucene.index.MergeTrigger mergeTrigger, org.apache.lucene.index.SegmentInfos infos, org.apache.lucene.index.MergePolicy.MergeContext mergeContext) Methods inherited from class org.apache.lucene.index.FilterMergePolicy
findMerges, getMaxCFSSegmentSizeMB, getNoCFSRatio, keepFullyDeletedSegment, maxFullFlushMergeSize, numDeletesToMerge, setMaxCFSSegmentSizeMB, setNoCFSRatio, size, toString, unwrap, useCompoundFileMethods inherited from class org.apache.lucene.index.MergePolicy
assertDelCount, isMerged, message, segString, verbose
-
Constructor Details
-
LatestVersionMergePolicy
public LatestVersionMergePolicy(org.apache.lucene.index.MergePolicy in)
-
-
Method Details
-
findMerges
public org.apache.lucene.index.MergePolicy.MergeSpecification findMerges(org.apache.lucene.index.MergeTrigger mergeTrigger, org.apache.lucene.index.SegmentInfos infos, org.apache.lucene.index.MergePolicy.MergeContext mergeContext) throws IOException - Overrides:
findMergesin classorg.apache.lucene.index.FilterMergePolicy- Throws:
IOException
-
findForcedMerges
public org.apache.lucene.index.MergePolicy.MergeSpecification findForcedMerges(org.apache.lucene.index.SegmentInfos infos, int maxSegmentCount, Map<org.apache.lucene.index.SegmentCommitInfo, Boolean> segmentsToMerge, org.apache.lucene.index.MergePolicy.MergeContext mergeContext) throws IOException- Overrides:
findForcedMergesin classorg.apache.lucene.index.FilterMergePolicy- Throws:
IOException
-
findForcedDeletesMerges
public org.apache.lucene.index.MergePolicy.MergeSpecification findForcedDeletesMerges(org.apache.lucene.index.SegmentInfos infos, org.apache.lucene.index.MergePolicy.MergeContext mergeContext) throws IOException - Overrides:
findForcedDeletesMergesin classorg.apache.lucene.index.FilterMergePolicy- Throws:
IOException
-
findFullFlushMerges
public org.apache.lucene.index.MergePolicy.MergeSpecification findFullFlushMerges(org.apache.lucene.index.MergeTrigger mergeTrigger, org.apache.lucene.index.SegmentInfos infos, org.apache.lucene.index.MergePolicy.MergeContext mergeContext) throws IOException - Overrides:
findFullFlushMergesin classorg.apache.lucene.index.FilterMergePolicy- Throws:
IOException
-
allowSegmentForMerge
protected boolean allowSegmentForMerge(org.apache.lucene.index.SegmentCommitInfo info) Determines if a SegmentCommitInfo should be part of the candidate set of segments that will be considered for merges. By default, we only allow LATEST version segments to participate in merges.
-