KeepOnlyLastCommitDeletionPolicy (Lucene 10.5.0 core API)
Description: declaration: package: org.apache.lucene.index, class: KeepOnlyLastCommitDeletionPolicy

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).