Package org.apache.lucene.index

# Class KeepOnlyLastCommitDeletionPolicy

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

public final class KeepOnlyLastCommitDeletionPolicy extends 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
Description
`KeepOnlyLastCommitDeletionPolicy()`
Sole constructor.

## Method Summary

Modifier and Type
Method
Description
`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 Details

### KeepOnlyLastCommitDeletionPolicy

public KeepOnlyLastCommitDeletionPolicy()
Sole constructor.

## Method Details

### onInit

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

Specified by:
  `onInit` in class `IndexDeletionPolicy`
Parameters:
  `commits` - List of current `point-in-time commits`, sorted by age (the 0th one is the oldest commit). Note that for a new index this method is invoked with an empty list.

### onCommit

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

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