## org.apache.lucene.index
Class MockRandomMergePolicy

    java.lang.Object
      org.apache.lucene.index.MergePolicy
          org.apache.lucene.index.MockRandomMergePolicy

All Implemented Interfaces:
  Closeable

    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
`MockRandomMergePolicy(Random random)`

Method Summary
`void` `close()` Release all resources for the policy.
`MergePolicy.MergeSpecification` `findForcedDeletesMerges(SegmentInfos segmentInfos)` Determine what set of merge operations is necessary in order to expunge all deletes from the index.
`MergePolicy.MergeSpecification` `findForcedMerges(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.MergeSpecification` `findMerges(SegmentInfos segmentInfos)` Determine what set of merge operations are now necessary on the index.
`boolean` `useCompoundFile(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`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### MockRandomMergePolicy

    public MockRandomMergePolicy(Random random)

Method Detail

### findMerges

    public MergePolicy.MergeSpecification findMerges(SegmentInfos segmentInfos)

  Description copied from class: `MergePolicy`
  Determine what set of merge operations are now necessary on the index. `IndexWriter` calls this whenever there is a change to the segments. This call is always synchronized on the `IndexWriter` instance so only one thread at a time will call this method.

  Specified by:
    `findMerges` in class `MergePolicy`
  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: `MergePolicy`
  Determine what set of merge operations is necessary in order to merge to <= the specified segment count. `IndexWriter` calls this when its `IndexWriter.forceMerge(int)` method is called. This call is always synchronized on the `IndexWriter` instance so only one thread at a time will call this method.

  Specified by:
    `findForcedMerges` in class `MergePolicy`
  Parameters:
    `segmentInfos` - the total set of segments in the index
    `maxSegmentCount` - 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:
    `CorruptIndexException`
    `IOException`

### findForcedDeletesMerges

    public MergePolicy.MergeSpecification findForcedDeletesMerges(SegmentInfos segmentInfos)
                                                           throws CorruptIndexException,
                                                                  IOException

  Description copied from class: `MergePolicy`
  Determine what set of merge operations is necessary in order to expunge all deletes from the index.

  Specified by:
    `findForcedDeletesMerges` in class `MergePolicy`
  Parameters:
    `segmentInfos` - the total set of segments in the index
  Throws:
    `CorruptIndexException`
    `IOException`

### close

    public void close()

  Description copied from class: `MergePolicy`
  Release all resources for the policy.

  Specified by:
    `close` in interface `Closeable`
  Specified by:
    `close` in class `MergePolicy`

### useCompoundFile

    public boolean useCompoundFile(SegmentInfos infos,
                                   SegmentInfo mergedInfo)
                            throws IOException

  Description copied from class: `MergePolicy`
  Returns true if a new segment (regardless of its origin) should use the compound file format.

  Specified by:
    `useCompoundFile` in class `MergePolicy`
  Throws:
    `IOException`