## org.apache.solr.client.solrj.impl
Class HttpSolrServer

    java.lang.Object
      org.apache.solr.client.solrj.SolrServer
          org.apache.solr.client.solrj.impl.HttpSolrServer

All Implemented Interfaces:
  Serializable

    public class HttpSolrServer

extends SolrServer

See Also:
  Serialized Form

Nested Class Summary
`protected static class` `HttpSolrServer.RemoteSolrException` Subclass of SolrException that allows us to capture an arbitrary HTTP status code that may have been returned by the remote server or a proxy along the way.

Field Summary
`static String` `AGENT` User-Agent String.
`protected String` `baseUrl` The URL of the Solr server.
`protected ModifiableSolrParams` `invariantParams` Default value: null / empty.
`protected ResponseParser` `parser` Default response parser is BinaryResponseParser This parser represents the default Response Parser chosen to parse the response if the parser were not specified as part of the request.
`protected RequestWriter` `requestWriter` The RequestWriter used to write all requests to Solr

Constructor Summary
`HttpSolrServer(String baseURL)`
`HttpSolrServer(String baseURL, org.apache.http.client.HttpClient client)`
`HttpSolrServer(String baseURL, org.apache.http.client.HttpClient client, ResponseParser parser)`

Method Summary
`UpdateResponse` `add(Iterator<SolrInputDocument> docIterator)` Adds the documents supplied by the given iterator.
`UpdateResponse` `addBeans(Iterator<?> beanIterator)` Adds the beans supplied by the given iterator.
`String` `getBaseURL()`
`org.apache.http.client.HttpClient` `getHttpClient()` Return the HttpClient this instance uses.
`ModifiableSolrParams` `getInvariantParams()` Retrieve the default list of parameters are added to every request regardless.
`ResponseParser` `getParser()`
`boolean` `isUseMultiPartPost()`
`NamedList<Object>` `request(SolrRequest request)` Process the request.
`NamedList<Object>` `request(SolrRequest request, ResponseParser processor)`
`void` `setAllowCompression(boolean allowCompression)` Allow server->client communication to be compressed.
`void` `setBaseURL(String baseURL)`
`void` `setConnectionTimeout(int timeout)` HttpConnectionParams.setConnectionTimeout
`void` `setDefaultMaxConnectionsPerHost(int max)` Set the maximum number of connections that can be open to a single host at any given time.
`void` `setFollowRedirects(boolean followRedirects)` Configure whether the client should follow redirects or not.
`void` `setMaxRetries(int maxRetries)` Set maximum number of retries to attempt in the event of transient errors.
`void` `setMaxTotalConnections(int max)` Set the maximum number of connections that can be open at any given time.
`void` `setParser(ResponseParser processor)` Note: This setter method is not thread-safe.
`void` `setRequestWriter(RequestWriter requestWriter)`
`void` `setSoTimeout(int timeout)` Set SoTimeout (read timeout).
`void` `setUseMultiPartPost(boolean useMultiPartPost)` Set the multipart connection properties
`void` `shutdown()` Close the `ClientConnectionManager` from the internal client.

Methods inherited from class org.apache.solr.client.solrj.SolrServer
`add, add, add, add, addBean, addBean, addBeans, addBeans, commit, commit, commit, deleteById, deleteById, deleteById, deleteById, deleteByQuery, deleteByQuery, getBinder, optimize, optimize, optimize, ping, query, query, queryAndStreamResponse, rollback`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### AGENT

    public static final String AGENT

  User-Agent String.

### baseUrl

    protected String baseUrl

  The URL of the Solr server.

### invariantParams

    protected ModifiableSolrParams invariantParams

  Default value: null / empty.

  Parameters that are added to every request regardless. This may be a place to add something like an authentication token.

### parser

    protected ResponseParser parser

  Default response parser is BinaryResponseParser

  This parser represents the default Response Parser chosen to parse the response if the parser were not specified as part of the request.

  See Also:
    `BinaryResponseParser`

### requestWriter

    protected RequestWriter requestWriter

  The RequestWriter used to write all requests to Solr

  See Also:
    `RequestWriter`

Constructor Detail

### HttpSolrServer

    public HttpSolrServer(String baseURL)

Parameters:
  `baseURL` - The URL of the Solr server. For example, " `http://localhost:8983/solr/`" if you are using the standard distribution Solr webapp on your local machine.

### HttpSolrServer

    public HttpSolrServer(String baseURL,
                          org.apache.http.client.HttpClient client)

### HttpSolrServer

    public HttpSolrServer(String baseURL,
                          org.apache.http.client.HttpClient client,
                          ResponseParser parser)

Method Detail

### request

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

  Process the request. If `SolrRequest.getResponseParser()` is null, then use `getParser()`

  Specified by:
    `request` in class `SolrServer`
  Parameters:
    `request` - The `SolrRequest` to process
  Returns:
    The `NamedList` result
  Throws:
    `IOException` - If there is a low-level I/O error.
    `SolrServerException`
  See Also:
    `request(org.apache.solr.client.solrj.SolrRequest, org.apache.solr.client.solrj.ResponseParser)`

### request

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

  Throws:
    `SolrServerException`
    `IOException`

### getInvariantParams

    public ModifiableSolrParams getInvariantParams()

  Retrieve the default list of parameters are added to every request regardless.

  See Also:
    `invariantParams`

### getBaseURL

    public String getBaseURL()

### setBaseURL

    public void setBaseURL(String baseURL)

### getParser

    public ResponseParser getParser()

### setParser

    public void setParser(ResponseParser processor)

  Note: This setter method is not thread-safe.

  Parameters:
    `processor` - Default Response Parser chosen to parse the response if the parser were not specified as part of the request.
  See Also:
    `SolrRequest.getResponseParser()`

### getHttpClient

    public org.apache.http.client.HttpClient getHttpClient()

  Return the HttpClient this instance uses.

### setConnectionTimeout

    public void setConnectionTimeout(int timeout)

  HttpConnectionParams.setConnectionTimeout

  Parameters:
    `timeout` - Timeout in milliseconds

### setSoTimeout

    public void setSoTimeout(int timeout)

  Set SoTimeout (read timeout). This is desirable for queries, but probably not for indexing.

  Parameters:
    `timeout` - Timeout in milliseconds

### setFollowRedirects

    public void setFollowRedirects(boolean followRedirects)

  Configure whether the client should follow redirects or not.

  This defaults to false under the assumption that if you are following a redirect to get to a Solr installation, something is misconfigured somewhere.

### setAllowCompression

    public void setAllowCompression(boolean allowCompression)

  Allow server->client communication to be compressed. Currently gzip and deflate are supported. If the server supports compression the response will be compressed. This method is only allowed if the http client is of type DefatulHttpClient.

### setMaxRetries

    public void setMaxRetries(int maxRetries)

  Set maximum number of retries to attempt in the event of transient errors.

  Maximum number of retries to attempt in the event of transient errors. Default: 0 (no) retries. No more than 1 recommended.

  Parameters:
    `maxRetries` - No more than 1 recommended

### setRequestWriter

    public void setRequestWriter(RequestWriter requestWriter)

### 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:
    the response from the SolrServer
  Throws:
    `SolrServerException`
    `IOException`

### 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:
    the response from the SolrServer
  Throws:
    `SolrServerException`
    `IOException`

### shutdown

    public void shutdown()

  Close the `ClientConnectionManager` from the internal client.

  Specified by:
    `shutdown` in class `SolrServer`

### setDefaultMaxConnectionsPerHost

    public void setDefaultMaxConnectionsPerHost(int max)

  Set the maximum number of connections that can be open to a single host at any given time. If http client was created outside the operation is not allowed.

### setMaxTotalConnections

    public void setMaxTotalConnections(int max)

  Set the maximum number of connections that can be open at any given time. If http client was created outside the operation is not allowed.

### isUseMultiPartPost

    public boolean isUseMultiPartPost()

### setUseMultiPartPost

    public void setUseMultiPartPost(boolean useMultiPartPost)

  Set the multipart connection properties

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