org.apache.solr.update

## Class UpdateHandler

- java.lang.Object
- - org.apache.solr.update.UpdateHandler

- All Implemented Interfaces:
    SolrInfoMBean
  Direct Known Subclasses:
    DirectUpdateHandler2

      public abstract class UpdateHandler
      extends Object
      implements SolrInfoMBean

  `UpdateHandler` handles requests to change the index (adds, deletes, commits, optimizes, etc).
  Since:
    solr 0.9

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface org.apache.solr.core.SolrInfoMBean

      `SolrInfoMBean.Category`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected Vector<SolrEventListener>` | `commitCallbacks`
    `protected SolrCore` | `core`
    `protected SchemaField` | `idField`
    `protected FieldType` | `idFieldType`
    `protected Vector<SolrEventListener>` | `optimizeCallbacks`
    `protected Vector<SolrEventListener>` | `softCommitCallbacks`
    `protected UpdateLog` | `ulog`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `UpdateHandler(SolrCore core)`
    `UpdateHandler(SolrCore core, UpdateLog updateLog)`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `abstract int` | `addDoc(AddUpdateCommand cmd)`
    `protected void` | `callPostCommitCallbacks()`
    `protected void` | `callPostOptimizeCallbacks()`
    `protected void` | `callPostSoftCommitCallbacks()`
    `abstract void` | `close()`
    `abstract void` | `commit(CommitUpdateCommand cmd)`
    `abstract void` | `delete(DeleteUpdateCommand cmd)`
    `abstract void` | `deleteByQuery(DeleteUpdateCommand cmd)`
    `abstract SolrCoreState` | `getSolrCoreState()`
    `abstract UpdateLog` | `getUpdateLog()`
    `abstract int` | `mergeIndexes(MergeIndexesCommand cmd)`
    `abstract void` | `newIndexWriter(boolean rollback)` Called when the Writer should be opened again - eg when replication replaces all of the index files.
    `void` | `registerCommitCallback(SolrEventListener listener)` NOTE: this function is not thread safe.
    `void` | `registerOptimizeCallback(SolrEventListener listener)` NOTE: this function is not thread safe.
    `void` | `registerSoftCommitCallback(SolrEventListener listener)` NOTE: this function is not thread safe.
    `abstract void` | `rollback(RollbackUpdateCommand cmd)`
    `abstract void` | `split(SplitIndexCommand cmd)`

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

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

    - ### Methods inherited from interface org.apache.solr.core.SolrInfoMBean

      `getCategory, getDescription, getDocs, getName, getSource, getStatistics, getVersion`

- - ### Field Detail

    - #### core

          protected final SolrCore core

    - #### idField

          protected final SchemaField idField

    - #### idFieldType

          protected final FieldType idFieldType

    - #### commitCallbacks

          protected Vector<SolrEventListener> commitCallbacks

    - #### softCommitCallbacks

          protected Vector<SolrEventListener> softCommitCallbacks

    - #### optimizeCallbacks

          protected Vector<SolrEventListener> optimizeCallbacks

    - #### ulog

          protected final UpdateLog ulog

  - ### Constructor Detail

    - #### UpdateHandler

          public UpdateHandler(SolrCore core)

    - #### UpdateHandler

          public UpdateHandler(SolrCore core,
                               UpdateLog updateLog)

  - ### Method Detail

    - #### callPostCommitCallbacks

          protected void callPostCommitCallbacks()

    - #### callPostSoftCommitCallbacks

          protected void callPostSoftCommitCallbacks()

    - #### callPostOptimizeCallbacks

          protected void callPostOptimizeCallbacks()

    - #### newIndexWriter

          public abstract void newIndexWriter(boolean rollback)
                                       throws IOException

      Called when the Writer should be opened again - eg when replication replaces all of the index files.
      Parameters:
        `rollback` - IndexWriter if true else close
      Throws:
        `IOException` - If there is a low-level I/O error.

    - #### getSolrCoreState

          public abstract SolrCoreState getSolrCoreState()

    - #### addDoc

          public abstract int addDoc(AddUpdateCommand cmd)
                              throws IOException

      Throws:
        `IOException`

    - #### delete

          public abstract void delete(DeleteUpdateCommand cmd)
                               throws IOException

      Throws:
        `IOException`

    - #### deleteByQuery

          public abstract void deleteByQuery(DeleteUpdateCommand cmd)
                                      throws IOException

      Throws:
        `IOException`

    - #### mergeIndexes

          public abstract int mergeIndexes(MergeIndexesCommand cmd)
                                    throws IOException

      Throws:
        `IOException`

    - #### commit

          public abstract void commit(CommitUpdateCommand cmd)
                               throws IOException

      Throws:
        `IOException`

    - #### rollback

          public abstract void rollback(RollbackUpdateCommand cmd)
                                 throws IOException

      Throws:
        `IOException`

    - #### close

          public abstract void close()
                              throws IOException

      Throws:
        `IOException`

    - #### getUpdateLog

          public abstract UpdateLog getUpdateLog()

    - #### registerCommitCallback

          public void registerCommitCallback(SolrEventListener listener)

      NOTE: this function is not thread safe. However, it is safe to call within the `inform( SolrCore core )` function for `SolrCoreAware` classes. Outside `inform`, this could potentially throw a ConcurrentModificationException
      See Also:
        `SolrCoreAware`

    - #### registerSoftCommitCallback

          public void registerSoftCommitCallback(SolrEventListener listener)

      NOTE: this function is not thread safe. However, it is safe to call within the `inform( SolrCore core )` function for `SolrCoreAware` classes. Outside `inform`, this could potentially throw a ConcurrentModificationException
      See Also:
        `SolrCoreAware`

    - #### registerOptimizeCallback

          public void registerOptimizeCallback(SolrEventListener listener)

      NOTE: this function is not thread safe. However, it is safe to call within the `inform( SolrCore core )` function for `SolrCoreAware` classes. Outside `inform`, this could potentially throw a ConcurrentModificationException
      See Also:
        `SolrCoreAware`

    - #### split

          public abstract void split(SplitIndexCommand cmd)
                              throws IOException

      Throws:
        `IOException`

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