org.apache.solr.client.solrj

## Class SolrClient

- java.lang.Object
- - org.apache.solr.client.solrj.SolrClient

- All Implemented Interfaces:
    Closeable, Serializable, AutoCloseable
  Direct Known Subclasses:
    CloudSolrClient, ConcurrentUpdateSolrClient, HttpSolrClient, LBHttpSolrClient

      public abstract class SolrClient
      extends Object
      implements Serializable, Closeable

  Abstraction through which all communication with a Solr server may be routed
  Since:
    5.0, replaced `SolrServer`
  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `SolrClient()`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `UpdateResponse` | `add(Collection<SolrInputDocument> docs)` Adds a collection of documents
    `UpdateResponse` | `add(Collection<SolrInputDocument> docs, int commitWithinMs)` Adds a collection of documents, specifying max time before they become committed
    `UpdateResponse` | `add(Iterator<SolrInputDocument> docIterator)` Adds the documents supplied by the given iterator.
    `UpdateResponse` | `add(SolrInputDocument doc)` Adds a single document
    `UpdateResponse` | `add(SolrInputDocument doc, int commitWithinMs)` Adds a single document specifying max time before it becomes committed
    `UpdateResponse` | `add(String collection, Collection<SolrInputDocument> docs)` Adds a collection of documents
    `UpdateResponse` | `add(String collection, Collection<SolrInputDocument> docs, int commitWithinMs)` Adds a collection of documents, specifying max time before they become committed
    `UpdateResponse` | `add(String collection, Iterator<SolrInputDocument> docIterator)` Adds the documents supplied by the given iterator.
    `UpdateResponse` | `add(String collection, SolrInputDocument doc)` Adds a single document
    `UpdateResponse` | `add(String collection, SolrInputDocument doc, int commitWithinMs)` Adds a single document specifying max time before it becomes committed
    `UpdateResponse` | `addBean(Object obj)` Adds a single bean The bean is converted to a `SolrInputDocument` by the client's `DocumentObjectBinder`
    `UpdateResponse` | `addBean(Object obj, int commitWithinMs)` Adds a single bean specifying max time before it becomes committed The bean is converted to a `SolrInputDocument` by the client's `DocumentObjectBinder`
    `UpdateResponse` | `addBean(String collection, Object obj)` Adds a single bean The bean is converted to a `SolrInputDocument` by the client's `DocumentObjectBinder`
    `UpdateResponse` | `addBean(String collection, Object obj, int commitWithinMs)` Adds a single bean specifying max time before it becomes committed The bean is converted to a `SolrInputDocument` by the client's `DocumentObjectBinder`
    `UpdateResponse` | `addBeans(Collection<?> beans)` Adds a collection of beans The beans are converted to `SolrInputDocument`s by the client's `DocumentObjectBinder`
    `UpdateResponse` | `addBeans(Collection<?> beans, int commitWithinMs)` Adds a collection of beans specifying max time before they become committed The beans are converted to `SolrInputDocument`s by the client's `DocumentObjectBinder`
    `UpdateResponse` | `addBeans(Iterator<?> beanIterator)` Adds the beans supplied by the given iterator.
    `UpdateResponse` | `addBeans(String collection, Collection<?> beans)` Adds a collection of beans The beans are converted to `SolrInputDocument`s by the client's `DocumentObjectBinder`
    `UpdateResponse` | `addBeans(String collection, Collection<?> beans, int commitWithinMs)` Adds a collection of beans specifying max time before they become committed The beans are converted to `SolrInputDocument`s by the client's `DocumentObjectBinder`
    `UpdateResponse` | `addBeans(String collection, Iterator<?> beanIterator)` Adds the beans supplied by the given iterator.
    `UpdateResponse` | `commit()` Performs an explicit commit, causing pending documents to be committed for indexing waitFlush=true and waitSearcher=true to be inline with the defaults for plain HTTP access
    `UpdateResponse` | `commit(boolean waitFlush, boolean waitSearcher)` Performs an explicit commit, causing pending documents to be committed for indexing
    `UpdateResponse` | `commit(boolean waitFlush, boolean waitSearcher, boolean softCommit)` Performs an explicit commit, causing pending documents to be committed for indexing
    `UpdateResponse` | `commit(String collection)` Performs an explicit commit, causing pending documents to be committed for indexing waitFlush=true and waitSearcher=true to be inline with the defaults for plain HTTP access
    `UpdateResponse` | `commit(String collection, boolean waitFlush, boolean waitSearcher)` Performs an explicit commit, causing pending documents to be committed for indexing
    `UpdateResponse` | `commit(String collection, boolean waitFlush, boolean waitSearcher, boolean softCommit)` Performs an explicit commit, causing pending documents to be committed for indexing
    `UpdateResponse` | `deleteById(List<String> ids)` Deletes a list of documents by unique ID
    `UpdateResponse` | `deleteById(List<String> ids, int commitWithinMs)` Deletes a list of documents by unique ID, specifying max time before commit
    `UpdateResponse` | `deleteById(String id)` Deletes a single document by unique ID
    `UpdateResponse` | `deleteById(String id, int commitWithinMs)` Deletes a single document by unique ID, specifying max time before commit
    `UpdateResponse` | `deleteById(String collection, List<String> ids)` Deletes a list of documents by unique ID
    `UpdateResponse` | `deleteById(String collection, List<String> ids, int commitWithinMs)` Deletes a list of documents by unique ID, specifying max time before commit
    `UpdateResponse` | `deleteById(String collection, String id)` Deletes a single document by unique ID
    `UpdateResponse` | `deleteById(String collection, String id, int commitWithinMs)` Deletes a single document by unique ID, specifying max time before commit
    `UpdateResponse` | `deleteByQuery(String query)` Deletes documents from the index based on a query
    `UpdateResponse` | `deleteByQuery(String query, int commitWithinMs)` Deletes documents from the index based on a query, specifying max time before commit
    `UpdateResponse` | `deleteByQuery(String collection, String query)` Deletes documents from the index based on a query
    `UpdateResponse` | `deleteByQuery(String collection, String query, int commitWithinMs)` Deletes documents from the index based on a query, specifying max time before commit
    `DocumentObjectBinder` | `getBinder()` Get the `DocumentObjectBinder` for this client.
    `SolrDocumentList` | `getById(Collection<String> ids)` Retrieves the SolrDocuments associated with the given identifiers.
    `SolrDocumentList` | `getById(Collection<String> ids, SolrParams params)` Retrieves the SolrDocuments associated with the given identifiers and uses the SolrParams to execute the request.
    `SolrDocument` | `getById(String id)` Retrieves the SolrDocument associated with the given identifier.
    `SolrDocumentList` | `getById(String collection, Collection<String> ids)` Retrieves the SolrDocuments associated with the given identifiers.
    `SolrDocumentList` | `getById(String collection, Collection<String> ids, SolrParams params)` Retrieves the SolrDocuments associated with the given identifiers and uses the SolrParams to execute the request.
    `SolrDocument` | `getById(String id, SolrParams params)` Retrieves the SolrDocument associated with the given identifier and uses the SolrParams to execute the request.
    `SolrDocument` | `getById(String collection, String id)` Retrieves the SolrDocument associated with the given identifier.
    `SolrDocument` | `getById(String collection, String id, SolrParams params)` Retrieves the SolrDocument associated with the given identifier and uses the SolrParams to execute the request.
    `UpdateResponse` | `optimize()` Performs an explicit optimize, causing a merge of all segments to one.
    `UpdateResponse` | `optimize(boolean waitFlush, boolean waitSearcher)` Performs an explicit optimize, causing a merge of all segments to one.
    `UpdateResponse` | `optimize(boolean waitFlush, boolean waitSearcher, int maxSegments)` Performs an explicit optimize, causing a merge of all segments to one.
    `UpdateResponse` | `optimize(String collection)` Performs an explicit optimize, causing a merge of all segments to one.
    `UpdateResponse` | `optimize(String collection, boolean waitFlush, boolean waitSearcher)` Performs an explicit optimize, causing a merge of all segments to one.
    `UpdateResponse` | `optimize(String collection, boolean waitFlush, boolean waitSearcher, int maxSegments)` Performs an explicit optimize, causing a merge of all segments to one.
    `SolrPingResponse` | `ping()` Issues a ping request to check if the server is alive
    `QueryResponse` | `query(SolrParams params)` Performs a query to the Solr server
    `QueryResponse` | `query(SolrParams params, SolrRequest.METHOD method)` Performs a query to the Solr server
    `QueryResponse` | `query(String collection, SolrParams params)` Performs a query to the Solr server
    `QueryResponse` | `query(String collection, SolrParams params, SolrRequest.METHOD method)` Performs a query to the Solr server
    `QueryResponse` | `queryAndStreamResponse(SolrParams params, StreamingResponseCallback callback)` Query solr, and stream the results.
    `QueryResponse` | `queryAndStreamResponse(String collection, SolrParams params, StreamingResponseCallback callback)` Query solr, and stream the results.
    `NamedList<Object>` | `request(SolrRequest request)` Execute a request against a Solr server
    `abstract NamedList<Object>` | `request(SolrRequest request, String collection)` Execute a request against a Solr server for a given collection
    `UpdateResponse` | `rollback()` Performs a rollback of all non-committed documents pending.
    `UpdateResponse` | `rollback(String collection)` Performs a rollback of all non-committed documents pending.

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

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

    - ### Methods inherited from interface java.io.Closeable

      `close`

- - ### Constructor Detail

    - #### SolrClient

          public SolrClient()

  - ### Method Detail

    - #### add

          public UpdateResponse add(String collection,
                                    Collection<SolrInputDocument> docs)
                             throws SolrServerException,
                                    IOException

      Adds a collection of documents
      Parameters:
        `collection` - the Solr collection to add documents to
        `docs` - the collection of documents
      Returns:
        an `UpdateResponse` from the server
      Throws:
        `IOException` - if there is a communication error with the server
        `SolrServerException` - if there is an error on the server
      Since:
        Solr 5.1

    - #### add

          public UpdateResponse add(Collection<SolrInputDocument> docs)
                             throws SolrServerException,
                                    IOException

      Adds a collection of documents
      Parameters:
        `docs` - the collection of documents
      Returns:
        an `UpdateResponse` from the server
      Throws:
        `IOException` - if there is a communication error with the server
        `SolrServerException` - if there is an error on the server

    - #### add

          public UpdateResponse add(String collection,
                                    Collection<SolrInputDocument> docs,
                                    int commitWithinMs)
                             throws SolrServerException,
                                    IOException

      Adds a collection of documents, specifying max time before they become committed
      Parameters:
        `collection` - the Solr collection to add documents to
        `docs` - the collection of documents
        `commitWithinMs` - max time (in ms) before a commit will happen
      Returns:
        an `UpdateResponse` from the server
      Throws:
        `IOException` - if there is a communication error with the server
        `SolrServerException` - if there is an error on the server
      Since:
        Solr 5.1

    - #### add

          public UpdateResponse add(Collection<SolrInputDocument> docs,
                                    int commitWithinMs)
                             throws SolrServerException,
                                    IOException

      Adds a collection of documents, specifying max time before they become committed
      Parameters:
        `docs` - the collection of documents
        `commitWithinMs` - max time (in ms) before a commit will happen
      Returns:
        an `UpdateResponse` from the server
      Throws:
        `IOException` - if there is a communication error with the server
        `SolrServerException` - if there is an error on the server
      Since:
        Solr 3.5

    - #### add

          public UpdateResponse add(String collection,
                                    SolrInputDocument doc)
                             throws SolrServerException,
                                    IOException

      Adds a single document
      Parameters:
        `collection` - the Solr collection to add the document to
        `doc` - the input document
      Returns:
        an `UpdateResponse` from the server
      Throws:
        `IOException` - if there is a communication error with the server
        `SolrServerException` - if there is an error on the server

    - #### add

          public UpdateResponse add(SolrInputDocument doc)
                             throws SolrServerException,
                                    IOException

      Adds a single document
      Parameters:
        `doc` - the input document
      Returns:
        an `UpdateResponse` from the server
      Throws:
        `IOException` - if there is a communication error with the server
        `SolrServerException` - if there is an error on the server

    - #### add

          public UpdateResponse add(String collection,
                                    SolrInputDocument doc,
                                    int commitWithinMs)
                             throws SolrServerException,
                                    IOException

      Adds a single document specifying max time before it becomes committed
      Parameters:
        `collection` - the Solr collection to add the document to
        `doc` - the input document
        `commitWithinMs` - max time (in ms) before a commit will happen
      Returns:
        an `UpdateResponse` from the server
      Throws:
        `IOException` - if there is a communication error with the server
        `SolrServerException` - if there is an error on the server
      Since:
        solr 5.1

    - #### add

          public UpdateResponse add(SolrInputDocument doc,
                                    int commitWithinMs)
                             throws SolrServerException,
                                    IOException

      Adds a single document specifying max time before it becomes committed
      Parameters:
        `doc` - the input document
        `commitWithinMs` - max time (in ms) before a commit will happen
      Returns:
        an `UpdateResponse` from the server
      Throws:
        `IOException` - if there is a communication error with the server
        `SolrServerException` - if there is an error on the server
      Since:
        solr 3.5

    - #### add

          public UpdateResponse add(String collection,
                                    Iterator<SolrInputDocument> docIterator)
                             throws SolrServerException,
                                    IOException

      Adds the documents supplied by the given iterator.
      Parameters:
        `collection` - the Solr collection to add the documents to
        `docIterator` - the iterator which returns SolrInputDocument instances
      Returns:
        an `UpdateResponse` from the server
      Throws:
        `IOException` - if there is a communication error with the server
        `SolrServerException` - if there is an error on the server

    - #### add

          public UpdateResponse add(Iterator<SolrInputDocument> docIterator)
                             throws SolrServerException,
                                    IOException

      Adds the documents supplied by the given iterator.
      Parameters:
        `docIterator` - the iterator which returns SolrInputDocument instances
      Returns:
        an `UpdateResponse` from the server
      Throws:
        `IOException` - if there is a communication error with the server
        `SolrServerException` - if there is an error on the server

    - #### addBean

          public UpdateResponse addBean(String collection,
                                        Object obj)
                                 throws IOException,
                                        SolrServerException

      Adds a single bean The bean is converted to a `SolrInputDocument` by the client's `DocumentObjectBinder`
      Parameters:
        `collection` - to Solr collection to add documents to
        `obj` - the input bean
      Returns:
        an `UpdateResponse` from the server
      Throws:
        `IOException` - if there is a communication error with the server
        `SolrServerException` - if there is an error on the server

    - #### addBean

          public UpdateResponse addBean(Object obj)
                                 throws IOException,
                                        SolrServerException

      Adds a single bean The bean is converted to a `SolrInputDocument` by the client's `DocumentObjectBinder`
      Parameters:
        `obj` - the input bean
      Returns:
        an `UpdateResponse` from the server
      Throws:
        `IOException` - if there is a communication error with the server
        `SolrServerException` - if there is an error on the server

    - #### addBean

          public UpdateResponse addBean(String collection,
                                        Object obj,
                                        int commitWithinMs)
                                 throws IOException,
                                        SolrServerException

      Adds a single bean specifying max time before it becomes committed The bean is converted to a `SolrInputDocument` by the client's `DocumentObjectBinder`
      Parameters:
        `collection` - to Solr collection to add documents to
        `obj` - the input bean
      Returns:
        an `UpdateResponse` from the server
      Throws:
        `IOException` - if there is a communication error with the server
        `SolrServerException` - if there is an error on the server

    - #### addBean

          public UpdateResponse addBean(Object obj,
                                        int commitWithinMs)
                                 throws IOException,
                                        SolrServerException

      Adds a single bean specifying max time before it becomes committed The bean is converted to a `SolrInputDocument` by the client's `DocumentObjectBinder`
      Parameters:
        `obj` - the input bean
      Returns:
        an `UpdateResponse` from the server
      Throws:
        `IOException` - if there is a communication error with the server
        `SolrServerException` - if there is an error on the server

    - #### addBeans

          public UpdateResponse addBeans(String collection,
                                         Collection<?> beans)
                                  throws SolrServerException,
                                         IOException

      Adds a collection of beans The beans are converted to `SolrInputDocument`s by the client's `DocumentObjectBinder`
      Parameters:
        `collection` - the Solr collection to add documents to
        `beans` - the collection of beans
      Returns:
        an `UpdateResponse` from the server
      Throws:
        `IOException` - if there is a communication error with the server
        `SolrServerException` - if there is an error on the server

    - #### addBeans

          public UpdateResponse addBeans(Collection<?> beans)
                                  throws SolrServerException,
                                         IOException

      Adds a collection of beans The beans are converted to `SolrInputDocument`s by the client's `DocumentObjectBinder`
      Parameters:
        `beans` - the collection of beans
      Returns:
        an `UpdateResponse` from the server
      Throws:
        `IOException` - if there is a communication error with the server
        `SolrServerException` - if there is an error on the server

    - #### addBeans

          public UpdateResponse addBeans(String collection,
                                         Collection<?> beans,
                                         int commitWithinMs)
                                  throws SolrServerException,
                                         IOException

      Adds a collection of beans specifying max time before they become committed The beans are converted to `SolrInputDocument`s by the client's `DocumentObjectBinder`
      Parameters:
        `collection` - the Solr collection to add documents to
        `beans` - the collection of beans
        `commitWithinMs` - max time (in ms) before a commit will happen
      Returns:
        an `UpdateResponse` from the server
      Throws:
        `IOException` - if there is a communication error with the server
        `SolrServerException` - if there is an error on the server
      Since:
        solr 5.1
      See Also:
        `getBinder()`

    - #### addBeans

          public UpdateResponse addBeans(Collection<?> beans,
                                         int commitWithinMs)
                                  throws SolrServerException,
                                         IOException

      Adds a collection of beans specifying max time before they become committed The beans are converted to `SolrInputDocument`s by the client's `DocumentObjectBinder`
      Parameters:
        `beans` - the collection of beans
        `commitWithinMs` - max time (in ms) before a commit will happen
      Returns:
        an `UpdateResponse` from the server
      Throws:
        `IOException` - if there is a communication error with the server
        `SolrServerException` - if there is an error on the server
      Since:
        solr 3.5
      See Also:
        `getBinder()`

    - #### addBeans

          public UpdateResponse addBeans(String collection,
                                         Iterator<?> beanIterator)
                                  throws SolrServerException,
                                         IOException

      Adds the beans supplied by the given iterator.
      Parameters:
        `collection` - the Solr collection to add the documents to
        `beanIterator` - the iterator which returns Beans
      Returns:
        an `UpdateResponse` from the server
      Throws:
        `IOException` - if there is a communication error with the server
        `SolrServerException` - if there is an error on the server

    - #### addBeans

          public UpdateResponse addBeans(Iterator<?> beanIterator)
                                  throws SolrServerException,
                                         IOException

      Adds the beans supplied by the given iterator.
      Parameters:
        `beanIterator` - the iterator which returns Beans
      Returns:
        an `UpdateResponse` from the server
      Throws:
        `IOException` - if there is a communication error with the server
        `SolrServerException` - if there is an error on the server

    - #### commit

          public UpdateResponse commit(String collection)
                                throws SolrServerException,
                                       IOException

      Performs an explicit commit, causing pending documents to be committed for indexing waitFlush=true and waitSearcher=true to be inline with the defaults for plain HTTP access
      Parameters:
        `collection` - the Solr collection to send the commit to
      Returns:
        an `UpdateResponse` containing the response from the server
      Throws:
        `IOException` - If there is a low-level I/O error.
        `SolrServerException` - if there is an error on the server

    - #### commit

          public UpdateResponse commit()
                                throws SolrServerException,
                                       IOException

      Performs an explicit commit, causing pending documents to be committed for indexing waitFlush=true and waitSearcher=true to be inline with the defaults for plain HTTP access
      Returns:
        an `UpdateResponse` containing the response from the server
      Throws:
        `IOException` - If there is a low-level I/O error.
        `SolrServerException` - if there is an error on the server

    - #### commit

          public UpdateResponse commit(String collection,
                                       boolean waitFlush,
                                       boolean waitSearcher)
                                throws SolrServerException,
                                       IOException

      Performs an explicit commit, causing pending documents to be committed for indexing
      Parameters:
        `collection` - the Solr collection to send the commit to
        `waitFlush` - block until index changes are flushed to disk
        `waitSearcher` - block until a new searcher is opened and registered as the main query searcher, making the changes visible
      Returns:
        an `UpdateResponse` containing the response from the server
      Throws:
        `IOException` - If there is a low-level I/O error.
        `SolrServerException` - if there is an error on the server

    - #### commit

          public UpdateResponse commit(boolean waitFlush,
                                       boolean waitSearcher)
                                throws SolrServerException,
                                       IOException

      Performs an explicit commit, causing pending documents to be committed for indexing
      Parameters:
        `waitFlush` - block until index changes are flushed to disk
        `waitSearcher` - block until a new searcher is opened and registered as the main query searcher, making the changes visible
      Returns:
        an `UpdateResponse` containing the response from the server
      Throws:
        `IOException` - If there is a low-level I/O error.
        `SolrServerException` - if there is an error on the server

    - #### commit

          public UpdateResponse commit(String collection,
                                       boolean waitFlush,
                                       boolean waitSearcher,
                                       boolean softCommit)
                                throws SolrServerException,
                                       IOException

      Performs an explicit commit, causing pending documents to be committed for indexing
      Parameters:
        `collection` - the Solr collection to send the commit to
        `waitFlush` - block until index changes are flushed to disk
        `waitSearcher` - block until a new searcher is opened and registered as the main query searcher, making the changes visible
        `softCommit` - makes index changes visible while neither fsync-ing index files nor writing a new index descriptor
      Returns:
        an `UpdateResponse` containing the response from the server
      Throws:
        `IOException` - If there is a low-level I/O error.
        `SolrServerException` - if there is an error on the server

    - #### commit

          public UpdateResponse commit(boolean waitFlush,
                                       boolean waitSearcher,
                                       boolean softCommit)
                                throws SolrServerException,
                                       IOException

      Performs an explicit commit, causing pending documents to be committed for indexing
      Parameters:
        `waitFlush` - block until index changes are flushed to disk
        `waitSearcher` - block until a new searcher is opened and registered as the main query searcher, making the changes visible
        `softCommit` - makes index changes visible while neither fsync-ing index files nor writing a new index descriptor
      Returns:
        an `UpdateResponse` containing the response from the server
      Throws:
        `IOException` - If there is a low-level I/O error.
        `SolrServerException` - if there is an error on the server

    - #### optimize

          public UpdateResponse optimize(String collection)
                                  throws SolrServerException,
                                         IOException

      Performs an explicit optimize, causing a merge of all segments to one. waitFlush=true and waitSearcher=true to be inline with the defaults for plain HTTP access Note: In most cases it is not required to do explicit optimize
      Parameters:
        `collection` - the Solr collection to send the optimize to
      Returns:
        an `UpdateResponse` containing the response from the server
      Throws:
        `IOException` - If there is a low-level I/O error.
        `SolrServerException` - if there is an error on the server

    - #### optimize

          public UpdateResponse optimize()
                                  throws SolrServerException,
                                         IOException

      Performs an explicit optimize, causing a merge of all segments to one. waitFlush=true and waitSearcher=true to be inline with the defaults for plain HTTP access Note: In most cases it is not required to do explicit optimize
      Returns:
        an `UpdateResponse` containing the response from the server
      Throws:
        `IOException` - If there is a low-level I/O error.
        `SolrServerException` - if there is an error on the server

    - #### optimize

          public UpdateResponse optimize(String collection,
                                         boolean waitFlush,
                                         boolean waitSearcher)
                                  throws SolrServerException,
                                         IOException

      Performs an explicit optimize, causing a merge of all segments to one.

      Note: In most cases it is not required to do explicit optimize

      Parameters:
        `collection` - the Solr collection to send the optimize to
        `waitFlush` - block until index changes are flushed to disk
        `waitSearcher` - block until a new searcher is opened and registered as the main query searcher, making the changes visible
      Returns:
        an `UpdateResponse` containing the response from the server
      Throws:
        `IOException` - If there is a low-level I/O error.
        `SolrServerException` - if there is an error on the server

    - #### optimize

          public UpdateResponse optimize(boolean waitFlush,
                                         boolean waitSearcher)
                                  throws SolrServerException,
                                         IOException

      Performs an explicit optimize, causing a merge of all segments to one.

      Note: In most cases it is not required to do explicit optimize

      Parameters:
        `waitFlush` - block until index changes are flushed to disk
        `waitSearcher` - block until a new searcher is opened and registered as the main query searcher, making the changes visible
      Returns:
        an `UpdateResponse` containing the response from the server
      Throws:
        `IOException` - If there is a low-level I/O error.
        `SolrServerException` - if there is an error on the server

    - #### optimize

          public UpdateResponse optimize(String collection,
                                         boolean waitFlush,
                                         boolean waitSearcher,
                                         int maxSegments)
                                  throws SolrServerException,
                                         IOException

      Performs an explicit optimize, causing a merge of all segments to one. Note: In most cases it is not required to do explicit optimize
      Parameters:
        `collection` - the Solr collection to send the optimize to
        `waitFlush` - block until index changes are flushed to disk
        `waitSearcher` - block until a new searcher is opened and registered as the main query searcher, making the changes visible
        `maxSegments` - optimizes down to at most this number of segments
      Returns:
        an `UpdateResponse` containing the response from the server
      Throws:
        `IOException` - If there is a low-level I/O error.
        `SolrServerException` - if there is an error on the server

    - #### optimize

          public UpdateResponse optimize(boolean waitFlush,
                                         boolean waitSearcher,
                                         int maxSegments)
                                  throws SolrServerException,
                                         IOException

      Performs an explicit optimize, causing a merge of all segments to one. Note: In most cases it is not required to do explicit optimize
      Parameters:
        `waitFlush` - block until index changes are flushed to disk
        `waitSearcher` - block until a new searcher is opened and registered as the main query searcher, making the changes visible
        `maxSegments` - optimizes down to at most this number of segments
      Returns:
        an `UpdateResponse` containing the response from the server
      Throws:
        `IOException` - If there is a low-level I/O error.
        `SolrServerException` - if there is an error on the server

    - #### rollback

          public UpdateResponse rollback(String collection)
                                  throws SolrServerException,
                                         IOException

      Performs a rollback of all non-committed documents pending. Note that this is not a true rollback as in databases. Content you have previously added may have been committed due to autoCommit, buffer full, other client performing a commit etc.
      Parameters:
        `collection` - the Solr collection to send the rollback to
      Returns:
        an `UpdateResponse` containing the response from the server
      Throws:
        `IOException` - If there is a low-level I/O error.
        `SolrServerException` - if there is an error on the server

    - #### rollback

          public UpdateResponse rollback()
                                  throws SolrServerException,
                                         IOException

      Performs a rollback of all non-committed documents pending. Note that this is not a true rollback as in databases. Content you have previously added may have been committed due to autoCommit, buffer full, other client performing a commit etc.
      Returns:
        an `UpdateResponse` containing the response from the server
      Throws:
        `IOException` - If there is a low-level I/O error.
        `SolrServerException` - if there is an error on the server

    - #### deleteById

          public UpdateResponse deleteById(String collection,
                                           String id)
                                    throws SolrServerException,
                                           IOException

      Deletes a single document by unique ID
      Parameters:
        `collection` - the Solr collection to delete the document from
        `id` - the ID of the document to delete
      Returns:
        an `UpdateResponse` containing the response from the server
      Throws:
        `IOException` - If there is a low-level I/O error.
        `SolrServerException` - if there is an error on the server

    - #### deleteById

          public UpdateResponse deleteById(String id)
                                    throws SolrServerException,
                                           IOException

      Deletes a single document by unique ID
      Parameters:
        `id` - the ID of the document to delete
      Returns:
        an `UpdateResponse` containing the response from the server
      Throws:
        `IOException` - If there is a low-level I/O error.
        `SolrServerException` - if there is an error on the server

    - #### deleteById

          public UpdateResponse deleteById(String collection,
                                           String id,
                                           int commitWithinMs)
                                    throws SolrServerException,
                                           IOException

      Deletes a single document by unique ID, specifying max time before commit
      Parameters:
        `collection` - the Solr collection to delete the document from
        `id` - the ID of the document to delete
        `commitWithinMs` - max time (in ms) before a commit will happen
      Returns:
        an `UpdateResponse` containing the response from the server
      Throws:
        `IOException` - If there is a low-level I/O error.
        `SolrServerException` - if there is an error on the server
      Since:
        5.1

    - #### deleteById

          public UpdateResponse deleteById(String id,
                                           int commitWithinMs)
                                    throws SolrServerException,
                                           IOException

      Deletes a single document by unique ID, specifying max time before commit
      Parameters:
        `id` - the ID of the document to delete
        `commitWithinMs` - max time (in ms) before a commit will happen
      Returns:
        an `UpdateResponse` containing the response from the server
      Throws:
        `IOException` - If there is a low-level I/O error.
        `SolrServerException` - if there is an error on the server
      Since:
        3.6

    - #### deleteById

          public UpdateResponse deleteById(String collection,
                                           List<String> ids)
                                    throws SolrServerException,
                                           IOException

      Deletes a list of documents by unique ID
      Parameters:
        `collection` - the Solr collection to delete the documents from
        `ids` - the list of document IDs to delete
      Returns:
        an `UpdateResponse` containing the response from the server
      Throws:
        `IOException` - If there is a low-level I/O error.
        `SolrServerException` - if there is an error on the server

    - #### deleteById

          public UpdateResponse deleteById(List<String> ids)
                                    throws SolrServerException,
                                           IOException

      Deletes a list of documents by unique ID
      Parameters:
        `ids` - the list of document IDs to delete
      Returns:
        an `UpdateResponse` containing the response from the server
      Throws:
        `IOException` - If there is a low-level I/O error.
        `SolrServerException` - if there is an error on the server

    - #### deleteById

          public UpdateResponse deleteById(String collection,
                                           List<String> ids,
                                           int commitWithinMs)
                                    throws SolrServerException,
                                           IOException

      Deletes a list of documents by unique ID, specifying max time before commit
      Parameters:
        `collection` - the Solr collection to delete the documents from
        `ids` - the list of document IDs to delete
        `commitWithinMs` - max time (in ms) before a commit will happen
      Returns:
        an `UpdateResponse` containing the response from the server
      Throws:
        `IOException` - If there is a low-level I/O error.
        `SolrServerException` - if there is an error on the server
      Since:
        5.1

    - #### deleteById

          public UpdateResponse deleteById(List<String> ids,
                                           int commitWithinMs)
                                    throws SolrServerException,
                                           IOException

      Deletes a list of documents by unique ID, specifying max time before commit
      Parameters:
        `ids` - the list of document IDs to delete
        `commitWithinMs` - max time (in ms) before a commit will happen
      Returns:
        an `UpdateResponse` containing the response from the server
      Throws:
        `IOException` - If there is a low-level I/O error.
        `SolrServerException` - if there is an error on the server
      Since:
        3.6

    - #### deleteByQuery

          public UpdateResponse deleteByQuery(String collection,
                                              String query)
                                       throws SolrServerException,
                                              IOException

      Deletes documents from the index based on a query
      Parameters:
        `collection` - the Solr collection to delete the documents from
        `query` - the query expressing what documents to delete
      Returns:
        an `UpdateResponse` containing the response from the server
      Throws:
        `IOException` - If there is a low-level I/O error.
        `SolrServerException` - if there is an error on the server

    - #### deleteByQuery

          public UpdateResponse deleteByQuery(String query)
                                       throws SolrServerException,
                                              IOException

      Deletes documents from the index based on a query
      Parameters:
        `query` - the query expressing what documents to delete
      Returns:
        an `UpdateResponse` containing the response from the server
      Throws:
        `IOException` - If there is a low-level I/O error.
        `SolrServerException` - if there is an error on the server

    - #### deleteByQuery

          public UpdateResponse deleteByQuery(String collection,
                                              String query,
                                              int commitWithinMs)
                                       throws SolrServerException,
                                              IOException

      Deletes documents from the index based on a query, specifying max time before commit
      Parameters:
        `collection` - the Solr collection to delete the documents from
        `query` - the query expressing what documents to delete
        `commitWithinMs` - max time (in ms) before a commit will happen
      Returns:
        an `UpdateResponse` containing the response from the server
      Throws:
        `IOException` - If there is a low-level I/O error.
        `SolrServerException` - if there is an error on the server
      Since:
        5.1

    - #### deleteByQuery

          public UpdateResponse deleteByQuery(String query,
                                              int commitWithinMs)
                                       throws SolrServerException,
                                              IOException

      Deletes documents from the index based on a query, specifying max time before commit
      Parameters:
        `query` - the query expressing what documents to delete
        `commitWithinMs` - max time (in ms) before a commit will happen
      Returns:
        an `UpdateResponse` containing the response from the server
      Throws:
        `IOException` - If there is a low-level I/O error.
        `SolrServerException` - if there is an error on the server
      Since:
        3.6

    - #### ping

          public SolrPingResponse ping()
                                throws SolrServerException,
                                       IOException

      Issues a ping request to check if the server is alive
      Returns:
        a `SolrPingResponse` containing the response from the server
      Throws:
        `IOException` - If there is a low-level I/O error.
        `SolrServerException` - if there is an error on the server

    - #### query

          public QueryResponse query(String collection,
                                     SolrParams params)
                              throws SolrServerException,
                                     IOException

      Performs a query to the Solr server
      Parameters:
        `collection` - the Solr collection to query
        `params` - an object holding all key/value parameters to send along the request
      Returns:
        a `QueryResponse` containing the response from the server
      Throws:
        `IOException` - If there is a low-level I/O error.
        `SolrServerException` - if there is an error on the server

    - #### query

          public QueryResponse query(SolrParams params)
                              throws SolrServerException,
                                     IOException

      Performs a query to the Solr server
      Parameters:
        `params` - an object holding all key/value parameters to send along the request
      Returns:
        a `QueryResponse` containing the response from the server
      Throws:
        `IOException` - If there is a low-level I/O error.
        `SolrServerException` - if there is an error on the server

    - #### query

          public QueryResponse query(String collection,
                                     SolrParams params,
                                     SolrRequest.METHOD method)
                              throws SolrServerException,
                                     IOException

      Performs a query to the Solr server
      Parameters:
        `collection` - the Solr collection to query
        `params` - an object holding all key/value parameters to send along the request
        `method` - specifies the HTTP method to use for the request, such as GET or POST
      Returns:
        a `QueryResponse` containing the response from the server
      Throws:
        `IOException` - If there is a low-level I/O error.
        `SolrServerException` - if there is an error on the server

    - #### query

          public QueryResponse query(SolrParams params,
                                     SolrRequest.METHOD method)
                              throws SolrServerException,
                                     IOException

      Performs a query to the Solr server
      Parameters:
        `params` - an object holding all key/value parameters to send along the request
        `method` - specifies the HTTP method to use for the request, such as GET or POST
      Returns:
        a `QueryResponse` containing the response from the server
      Throws:
        `IOException` - If there is a low-level I/O error.
        `SolrServerException` - if there is an error on the server

    - #### queryAndStreamResponse

          public QueryResponse queryAndStreamResponse(String collection,
                                                      SolrParams params,
                                                      StreamingResponseCallback callback)
                                               throws SolrServerException,
                                                      IOException

      Query solr, and stream the results. Unlike the standard query, this will send events for each Document rather then add them to the QueryResponse. Although this function returns a 'QueryResponse' it should be used with care since it excludes anything that was passed to callback. Also note that future version may pass even more info to the callback and may not return the results in the QueryResponse.
      Parameters:
        `collection` - the Solr collection to query
        `params` - an object holding all key/value parameters to send along the request
        `callback` - the callback to stream results to
      Returns:
        a `QueryResponse` containing the response from the server
      Throws:
        `IOException` - If there is a low-level I/O error.
        `SolrServerException` - if there is an error on the server
      Since:
        solr 5.1

    - #### queryAndStreamResponse

          public QueryResponse queryAndStreamResponse(SolrParams params,
                                                      StreamingResponseCallback callback)
                                               throws SolrServerException,
                                                      IOException

      Query solr, and stream the results. Unlike the standard query, this will send events for each Document rather then add them to the QueryResponse. Although this function returns a 'QueryResponse' it should be used with care since it excludes anything that was passed to callback. Also note that future version may pass even more info to the callback and may not return the results in the QueryResponse.
      Parameters:
        `params` - an object holding all key/value parameters to send along the request
        `callback` - the callback to stream results to
      Returns:
        a `QueryResponse` containing the response from the server
      Throws:
        `IOException` - If there is a low-level I/O error.
        `SolrServerException` - if there is an error on the server
      Since:
        solr 4.0

    - #### getById

          public SolrDocument getById(String collection,
                                      String id)
                               throws SolrServerException,
                                      IOException

      Retrieves the SolrDocument associated with the given identifier.
      Parameters:
        `collection` - the Solr collection to query
        `id` - the id
      Returns:
        retrieved SolrDocument, or null if no document is found.
      Throws:
        `IOException` - If there is a low-level I/O error.
        `SolrServerException` - if there is an error on the server

    - #### getById

          public SolrDocument getById(String id)
                               throws SolrServerException,
                                      IOException

      Retrieves the SolrDocument associated with the given identifier.
      Parameters:
        `id` - the id
      Returns:
        retrieved SolrDocument, or null if no document is found.
      Throws:
        `IOException` - If there is a low-level I/O error.
        `SolrServerException` - if there is an error on the server

    - #### getById

          public SolrDocument getById(String collection,
                                      String id,
                                      SolrParams params)
                               throws SolrServerException,
                                      IOException

      Retrieves the SolrDocument associated with the given identifier and uses the SolrParams to execute the request.
      Parameters:
        `collection` - the Solr collection to query
        `id` - the id
        `params` - additional parameters to add to the query
      Returns:
        retrieved SolrDocument, or null if no document is found.
      Throws:
        `IOException` - If there is a low-level I/O error.
        `SolrServerException` - if there is an error on the server

    - #### getById

          public SolrDocument getById(String id,
                                      SolrParams params)
                               throws SolrServerException,
                                      IOException

      Retrieves the SolrDocument associated with the given identifier and uses the SolrParams to execute the request.
      Parameters:
        `id` - the id
        `params` - additional parameters to add to the query
      Returns:
        retrieved SolrDocument, or null if no document is found.
      Throws:
        `IOException` - If there is a low-level I/O error.
        `SolrServerException` - if there is an error on the server

    - #### getById

          public SolrDocumentList getById(String collection,
                                          Collection<String> ids)
                                   throws SolrServerException,
                                          IOException

      Retrieves the SolrDocuments associated with the given identifiers. If a document was not found, it will not be added to the SolrDocumentList.
      Parameters:
        `collection` - the Solr collection to query
        `ids` - the ids
      Returns:
        a SolrDocumentList, or null if no documents were found
      Throws:
        `IOException` - If there is a low-level I/O error.
        `SolrServerException` - if there is an error on the server

    - #### getById

          public SolrDocumentList getById(Collection<String> ids)
                                   throws SolrServerException,
                                          IOException

      Retrieves the SolrDocuments associated with the given identifiers. If a document was not found, it will not be added to the SolrDocumentList.
      Parameters:
        `ids` - the ids
      Returns:
        a SolrDocumentList, or null if no documents were found
      Throws:
        `IOException` - If there is a low-level I/O error.
        `SolrServerException` - if there is an error on the server

    - #### getById

          public SolrDocumentList getById(String collection,
                                          Collection<String> ids,
                                          SolrParams params)
                                   throws SolrServerException,
                                          IOException

      Retrieves the SolrDocuments associated with the given identifiers and uses the SolrParams to execute the request. If a document was not found, it will not be added to the SolrDocumentList.
      Parameters:
        `collection` - the Solr collection to query
        `ids` - the ids
        `params` - additional parameters to add to the query
      Returns:
        a SolrDocumentList, or null if no documents were found
      Throws:
        `IOException` - If there is a low-level I/O error.
        `SolrServerException` - if there is an error on the server

    - #### getById

          public SolrDocumentList getById(Collection<String> ids,
                                          SolrParams params)
                                   throws SolrServerException,
                                          IOException

      Retrieves the SolrDocuments associated with the given identifiers and uses the SolrParams to execute the request. If a document was not found, it will not be added to the SolrDocumentList.
      Parameters:
        `ids` - the ids
        `params` - additional parameters to add to the query
      Returns:
        a SolrDocumentList, or null if no documents were found
      Throws:
        `IOException` - If there is a low-level I/O error.
        `SolrServerException` - if there is an error on the server

    - #### request

          public abstract NamedList<Object> request(SolrRequest request,
                                                    String collection)
                                             throws SolrServerException,
                                                    IOException

      Execute a request against a Solr server for a given collection
      Parameters:
        `request` - the request to execute
        `collection` - the collection to execute the request against
      Returns:
        a `NamedList` containing the response from the server
      Throws:
        `IOException` - If there is a low-level I/O error.
        `SolrServerException` - if there is an error on the server

    - #### request

          public final NamedList<Object> request(SolrRequest request)
                                          throws SolrServerException,
                                                 IOException

      Execute a request against a Solr server
      Parameters:
        `request` - the request to execute
      Returns:
        a `NamedList` containing the response from the server
      Throws:
        `IOException` - If there is a low-level I/O error.
        `SolrServerException` - if there is an error on the server

    - #### getBinder

          public DocumentObjectBinder getBinder()

      Get the `DocumentObjectBinder` for this client.
      Returns:
        a DocumentObjectBinder
      See Also:
        `addBean(java.lang.String, java.lang.Object)`, `addBeans(java.lang.String, java.util.Collection<?>)`

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