org.apache.lucene.index

## Class TrackingIndexWriter

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

-     public class TrackingIndexWriter
      extends Object

  Class that tracks changes to a delegated IndexWriter, used by `ControlledRealTimeReopenThread` to ensure specific changes are visible. Create this class (passing your IndexWriter), and then pass this class to `ControlledRealTimeReopenThread`. Be sure to make all changes via the TrackingIndexWriter, otherwise `ControlledRealTimeReopenThread` won't know about the changes.
  WARNING: This API is experimental and might change in incompatible ways in the next release.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `TrackingIndexWriter(IndexWriter writer)` Create a `TrackingIndexWriter` wrapping the provided `IndexWriter`.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `long` | `addDocument(Iterable<? extends IndexableField> d)` Calls `IndexWriter.addDocument(Iterable)` and returns the generation that reflects this change.
    `long` | `addDocuments(Iterable<? extends Iterable<? extends IndexableField>> docs)` Calls `IndexWriter.addDocuments(Iterable)` and returns the generation that reflects this change.
    `long` | `addIndexes(CodecReader... readers)` Calls `IndexWriter.addIndexes(CodecReader...)` and returns the generation that reflects this change.
    `long` | `addIndexes(Directory... dirs)` Calls `IndexWriter.addIndexes(Directory...)` and returns the generation that reflects this change.
    `long` | `deleteAll()` Calls `IndexWriter.deleteAll()` and returns the generation that reflects this change.
    `long` | `deleteDocuments(Query... queries)` Calls `IndexWriter.deleteDocuments(Query...)` and returns the generation that reflects this change.
    `long` | `deleteDocuments(Query q)` Calls `IndexWriter.deleteDocuments(Query...)` and returns the generation that reflects this change.
    `long` | `deleteDocuments(Term... terms)` Calls `IndexWriter.deleteDocuments(Term...)` and returns the generation that reflects this change.
    `long` | `deleteDocuments(Term t)` Calls `IndexWriter.deleteDocuments(Term...)` and returns the generation that reflects this change.
    `long` | `getAndIncrementGeneration()` Return and increment current gen.
    `long` | `getGeneration()` Return the current generation being indexed.
    `IndexWriter` | `getIndexWriter()` Return the wrapped `IndexWriter`.
    `long` | `tryDeleteDocument(IndexReader reader, int docID)` Cals `IndexWriter.tryDeleteDocument(IndexReader,int)` and returns the generation that reflects this change.
    `long` | `updateDocument(Term t, Iterable<? extends IndexableField> d)` Calls `IndexWriter.updateDocument(Term,Iterable)` and returns the generation that reflects this change.
    `long` | `updateDocuments(Term t, Iterable<? extends Iterable<? extends IndexableField>> docs)` Calls `IndexWriter.updateDocuments(Term,Iterable)` and returns the generation that reflects this change.

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

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

- - ### Constructor Detail

    - #### TrackingIndexWriter

          public TrackingIndexWriter(IndexWriter writer)

      Create a `TrackingIndexWriter` wrapping the provided `IndexWriter`.

  - ### Method Detail

    - #### updateDocument

          public long updateDocument(Term t,
                            Iterable<? extends IndexableField> d)
                              throws IOException

      Calls `IndexWriter.updateDocument(Term,Iterable)` and returns the generation that reflects this change.
      Throws:
        `IOException`

    - #### updateDocuments

          public long updateDocuments(Term t,
                             Iterable<? extends Iterable<? extends IndexableField>> docs)
                               throws IOException

      Calls `IndexWriter.updateDocuments(Term,Iterable)` and returns the generation that reflects this change.
      Throws:
        `IOException`

    - #### deleteDocuments

          public long deleteDocuments(Term t)
                               throws IOException

      Calls `IndexWriter.deleteDocuments(Term...)` and returns the generation that reflects this change.
      Throws:
        `IOException`

    - #### deleteDocuments

          public long deleteDocuments(Term... terms)
                               throws IOException

      Calls `IndexWriter.deleteDocuments(Term...)` and returns the generation that reflects this change.
      Throws:
        `IOException`

    - #### deleteDocuments

          public long deleteDocuments(Query q)
                               throws IOException

      Calls `IndexWriter.deleteDocuments(Query...)` and returns the generation that reflects this change.
      Throws:
        `IOException`

    - #### deleteDocuments

          public long deleteDocuments(Query... queries)
                               throws IOException

      Calls `IndexWriter.deleteDocuments(Query...)` and returns the generation that reflects this change.
      Throws:
        `IOException`

    - #### deleteAll

          public long deleteAll()
                         throws IOException

      Calls `IndexWriter.deleteAll()` and returns the generation that reflects this change.
      Throws:
        `IOException`

    - #### addDocument

          public long addDocument(Iterable<? extends IndexableField> d)
                           throws IOException

      Calls `IndexWriter.addDocument(Iterable)` and returns the generation that reflects this change.
      Throws:
        `IOException`

    - #### addDocuments

          public long addDocuments(Iterable<? extends Iterable<? extends IndexableField>> docs)
                            throws IOException

      Calls `IndexWriter.addDocuments(Iterable)` and returns the generation that reflects this change.
      Throws:
        `IOException`

    - #### addIndexes

          public long addIndexes(Directory... dirs)
                          throws IOException

      Calls `IndexWriter.addIndexes(Directory...)` and returns the generation that reflects this change.
      Throws:
        `IOException`

    - #### addIndexes

          public long addIndexes(CodecReader... readers)
                          throws IOException

      Calls `IndexWriter.addIndexes(CodecReader...)` and returns the generation that reflects this change.
      Throws:
        `IOException`

    - #### getGeneration

          public long getGeneration()

      Return the current generation being indexed.

    - #### getIndexWriter

          public IndexWriter getIndexWriter()

      Return the wrapped `IndexWriter`.

    - #### getAndIncrementGeneration

          public long getAndIncrementGeneration()

      Return and increment current gen.
      NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.

    - #### tryDeleteDocument

          public long tryDeleteDocument(IndexReader reader,
                               int docID)
                                 throws IOException

      Cals `IndexWriter.tryDeleteDocument(IndexReader,int)` and returns the generation that reflects this change.
      Throws:
        `IOException`

Copyright © 2000-2017 Apache Software Foundation. All Rights Reserved.