Class IndexCommit

  • All Implemented Interfaces:
    java.lang.Comparable<IndexCommit>

    public abstract class IndexCommit
    extends java.lang.Object
    implements java.lang.Comparable<IndexCommit>

    Expert: represents a single commit into an index as seen by the IndexDeletionPolicy or IndexReader.

    Changes to the content of an index are made visible only after the writer who made that change commits by writing a new segments file (segments_N). This point in time, when the action of writing of a new segments file to the directory is completed, is an index commit.

    Each index commit point has a unique segments file associated with it. The segments file associated with a later index commit point would have a larger N.

    • Method Detail

      • getSegmentsFileName

        public abstract java.lang.String getSegmentsFileName()
        Get the segments file (segments_N) associated with this commit point.
      • getFileNames

        public abstract java.util.Collection<java.lang.String> getFileNames()
                                                                     throws java.io.IOException
        Returns all index files referenced by this commit point.
        Throws:
        java.io.IOException
      • getDirectory

        public abstract Directory getDirectory()
        Returns the Directory for the index.
      • delete

        public abstract void delete()
        Delete this commit point. This only applies when using the commit point in the context of IndexWriter's IndexDeletionPolicy.

        Upon calling this, the writer is notified that this commit point should be deleted.

        Decision that a commit-point should be deleted is taken by the IndexDeletionPolicy in effect and therefore this should only be called by its onInit() or onCommit() methods.

      • isDeleted

        public abstract boolean isDeleted()
        Returns true if this commit should be deleted; this is only used by IndexWriter after invoking the IndexDeletionPolicy.
      • getSegmentCount

        public abstract int getSegmentCount()
        Returns number of segments referenced by this commit.
      • equals

        public boolean equals​(java.lang.Object other)
        Two IndexCommits are equal if both their Directory and versions are equal.
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • getGeneration

        public abstract long getGeneration()
        Returns the generation (the _N in segments_N) for this IndexCommit
      • getUserData

        public abstract java.util.Map<java.lang.String,​java.lang.String> getUserData()
                                                                                    throws java.io.IOException
        Returns userData, previously passed to IndexWriter.setCommitData(Map) for this commit. Map is String -> String.
        Throws:
        java.io.IOException
      • compareTo

        public int compareTo​(IndexCommit commit)
        Specified by:
        compareTo in interface java.lang.Comparable<IndexCommit>