org.apache.lucene.index

## Class KeepOnlyLastCommitDeletionPolicy

- java.lang.Object
- - org.apache.lucene.index.KeepOnlyLastCommitDeletionPolicy

All Implemented Interfaces:
  IndexDeletionPolicy

    public final class KeepOnlyLastCommitDeletionPolicy
    extends Object
    implements IndexDeletionPolicy

This `IndexDeletionPolicy` implementation that keeps only the most recent commit and immediately removes all prior commits after a new commit is done. This is the default deletion policy.

### Constructor Summary

Constructors
Constructor and Description
`KeepOnlyLastCommitDeletionPolicy()` Sole constructor.

### Method Summary

Methods
`void` `onCommit(List<? extends IndexCommit> commits)` Deletes all commits except the most recent one.
`void` `onInit(List<? extends IndexCommit> commits)` Deletes all commits except the most recent one.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### KeepOnlyLastCommitDeletionPolicy

    public KeepOnlyLastCommitDeletionPolicy()

Sole constructor.

### Method Detail

#### onInit

    public void onInit(List<? extends IndexCommit> commits)

Deletes all commits except the most recent one.

Specified by:
  `onInit` in interface `IndexDeletionPolicy`
Parameters:
  `commits` - List of current `point-in-time commits`, sorted by age (the 0th one is the oldest commit).

#### onCommit

    public void onCommit(List<? extends IndexCommit> commits)

Deletes all commits except the most recent one.

Specified by:
  `onCommit` in interface `IndexDeletionPolicy`
Parameters:
  `commits` - List of `IndexCommit`, sorted by age (the 0th one is the oldest commit).