Package org.apache.lucene.index
Class MockRandomMergePolicy
- java.lang.Object
-
- org.apache.lucene.index.MergePolicy
-
- org.apache.lucene.index.MockRandomMergePolicy
-
- All Implemented Interfaces:
Closeable,AutoCloseable
public class MockRandomMergePolicy extends MergePolicy
MergePolicy that makes random decisions for testing.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.lucene.index.MergePolicy
MergePolicy.MergeAbortedException, MergePolicy.MergeException, MergePolicy.MergeSpecification, MergePolicy.OneMerge
-
-
Field Summary
-
Fields inherited from class org.apache.lucene.index.MergePolicy
writer
-
-
Constructor Summary
Constructors Constructor Description MockRandomMergePolicy(Random random)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()Release all resources for the policy.MergePolicy.MergeSpecificationfindForcedDeletesMerges(SegmentInfos segmentInfos)Determine what set of merge operations is necessary in order to expunge all deletes from the index.MergePolicy.MergeSpecificationfindForcedMerges(SegmentInfos segmentInfos, int maxSegmentCount, Map<SegmentInfo,Boolean> segmentsToMerge)Determine what set of merge operations is necessary in order to merge to <= the specified segment count.MergePolicy.MergeSpecificationfindMerges(SegmentInfos segmentInfos)Determine what set of merge operations are now necessary on the index.booleanuseCompoundFile(SegmentInfos infos, SegmentInfo mergedInfo)Returns true if a new segment (regardless of its origin) should use the compound file format.-
Methods inherited from class org.apache.lucene.index.MergePolicy
setIndexWriter
-
-
-
-
Constructor Detail
-
MockRandomMergePolicy
public MockRandomMergePolicy(Random random)
-
-
Method Detail
-
findMerges
public MergePolicy.MergeSpecification findMerges(SegmentInfos segmentInfos)
Description copied from class:MergePolicyDetermine what set of merge operations are now necessary on the index.IndexWritercalls this whenever there is a change to the segments. This call is always synchronized on theIndexWriterinstance so only one thread at a time will call this method.- Specified by:
findMergesin classMergePolicy- Parameters:
segmentInfos- the total set of segments in the index
-
findForcedMerges
public MergePolicy.MergeSpecification findForcedMerges(SegmentInfos segmentInfos, int maxSegmentCount, Map<SegmentInfo,Boolean> segmentsToMerge) throws CorruptIndexException, IOException
Description copied from class:MergePolicyDetermine what set of merge operations is necessary in order to merge to <= the specified segment count.IndexWritercalls this when itsIndexWriter.forceMerge(int)method is called. This call is always synchronized on theIndexWriterinstance so only one thread at a time will call this method.- Specified by:
findForcedMergesin classMergePolicy- Parameters:
segmentInfos- the total set of segments in the indexmaxSegmentCount- requested maximum number of segments in the index (currently this is always 1)segmentsToMerge- contains the specific SegmentInfo instances that must be merged away. This may be a subset of all SegmentInfos. If the value is True for a given SegmentInfo, that means this segment was an original segment present in the to-be-merged index; else, it was a segment produced by a cascaded merge.- Throws:
CorruptIndexExceptionIOException
-
findForcedDeletesMerges
public MergePolicy.MergeSpecification findForcedDeletesMerges(SegmentInfos segmentInfos) throws CorruptIndexException, IOException
Description copied from class:MergePolicyDetermine what set of merge operations is necessary in order to expunge all deletes from the index.- Specified by:
findForcedDeletesMergesin classMergePolicy- Parameters:
segmentInfos- the total set of segments in the index- Throws:
CorruptIndexExceptionIOException
-
close
public void close()
Description copied from class:MergePolicyRelease all resources for the policy.- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Specified by:
closein classMergePolicy
-
useCompoundFile
public boolean useCompoundFile(SegmentInfos infos, SegmentInfo mergedInfo) throws IOException
Description copied from class:MergePolicyReturns true if a new segment (regardless of its origin) should use the compound file format.- Specified by:
useCompoundFilein classMergePolicy- Throws:
IOException
-
-