public class PersistentSnapshotDeletionPolicy extends SnapshotDeletionPolicy
SnapshotDeletionPolicy which adds a persistence layer so that
 snapshots can be maintained across the life of an application. The snapshots
 are persisted in a Directory and are committed as soon as
 snapshot() or release(IndexCommit) is called.
 
 NOTE: Sharing PersistentSnapshotDeletionPolicys that write to
 the same directory across IndexWriters will corrupt snapshots. You
 should make sure every IndexWriter has its own
 PersistentSnapshotDeletionPolicy and that they all write to a
 different Directory.  It is OK to use the same
 Directory that holds the index.
 
 This class adds a release(long) method to
 release commits from a previous snapshot's IndexCommit.getGeneration().
| Modifier and Type | Field and Description | 
|---|---|
| static String | SNAPSHOTS_PREFIXPrefix used for the save file. | 
indexCommits, lastCommit, refCounts| Constructor and Description | 
|---|
| PersistentSnapshotDeletionPolicy(IndexDeletionPolicy primary,
                                Directory dir)PersistentSnapshotDeletionPolicywraps anotherIndexDeletionPolicyto enable flexible
 snapshotting, passingIndexWriterConfig.OpenMode.CREATE_OR_APPENDby default. | 
| PersistentSnapshotDeletionPolicy(IndexDeletionPolicy primary,
                                Directory dir,
                                IndexWriterConfig.OpenMode mode)PersistentSnapshotDeletionPolicywraps anotherIndexDeletionPolicyto enable flexible snapshotting. | 
| Modifier and Type | Method and Description | 
|---|---|
| String | getLastSaveFile()Returns the file name the snapshots are currently
  saved to, or null if no snapshots have been saved. | 
| void | release(IndexCommit commit)Deletes a snapshotted commit. | 
| void | release(long gen)Deletes a snapshotted commit by generation. | 
| IndexCommit | snapshot()Snapshots the last commit. | 
getIndexCommit, getSnapshotCount, getSnapshots, incRef, onCommit, onInit, releaseGenpublic static final String SNAPSHOTS_PREFIX
public PersistentSnapshotDeletionPolicy(IndexDeletionPolicy primary, Directory dir) throws IOException
PersistentSnapshotDeletionPolicy wraps another
 IndexDeletionPolicy to enable flexible
 snapshotting, passing IndexWriterConfig.OpenMode.CREATE_OR_APPEND
 by default.primary - the IndexDeletionPolicy that is used on non-snapshotted
          commits. Snapshotted commits, by definition, are not deleted until
          explicitly released via release(org.apache.lucene.index.IndexCommit).dir - the Directory which will be used to persist the snapshots
          information.IOExceptionpublic PersistentSnapshotDeletionPolicy(IndexDeletionPolicy primary, Directory dir, IndexWriterConfig.OpenMode mode) throws IOException
PersistentSnapshotDeletionPolicy wraps another
 IndexDeletionPolicy to enable flexible snapshotting.primary - the IndexDeletionPolicy that is used on non-snapshotted
          commits. Snapshotted commits, by definition, are not deleted until
          explicitly released via release(org.apache.lucene.index.IndexCommit).dir - the Directory which will be used to persist the snapshots
          information.mode - specifies whether a new index should be created, deleting all
          existing snapshots information (immediately), or open an existing
          index, initializing the class with the snapshots information.IOExceptionpublic IndexCommit snapshot() throws IOException
snapshot in class SnapshotDeletionPolicyIndexCommit that was snapshotted.IOExceptionSnapshotDeletionPolicy.snapshot()public void release(IndexCommit commit) throws IOException
release in class SnapshotDeletionPolicycommit - the commit previously returned by SnapshotDeletionPolicy.snapshot()IOExceptionSnapshotDeletionPolicy.release(org.apache.lucene.index.IndexCommit)public void release(long gen)
             throws IOException
public String getLastSaveFile()
Copyright © 2000-2015 Apache Software Foundation. All Rights Reserved.