org.apache.solr.client.solrj.impl

## Class HttpSolrClient.Builder

- java.lang.Object
- - org.apache.solr.client.solrj.impl.SolrClientBuilder<HttpSolrClient.Builder>
  - - org.apache.solr.client.solrj.impl.HttpSolrClient.Builder

Enclosing class:
  HttpSolrClient

    public static class HttpSolrClient.Builder
    extends SolrClientBuilder<HttpSolrClient.Builder>

Constructs `HttpSolrClient` instances from provided configuration.

### Field Summary

Fields
`protected String` `baseSolrUrl`
`protected boolean` `compression`
`protected ModifiableSolrParams` `invariantParams`

### Fields inherited from class org.apache.solr.client.solrj.impl.SolrClientBuilder

`connectionTimeoutMillis, httpClient, responseParser, socketTimeoutMillis`

### Constructor Summary

Constructors
Constructor and Description
`Builder()`
`Builder(String baseSolrUrl)` Create a Builder object, based on the provided Solr URL.

### Method Summary

All Methods Instance Methods Concrete Methods
`HttpSolrClient.Builder` `allowCompression(boolean compression)` Chooses whether created `HttpSolrClient`s use compression by default.
`HttpSolrClient` `build()` Create a `HttpSolrClient` based on provided configuration.
`HttpSolrClient.Builder` `getThis()` The solution for the unchecked cast warning.
`HttpSolrClient.Builder` `withBaseSolrUrl(String baseSolrUrl)` Specify the base-url for the created client to use when sending requests to Solr.
`HttpSolrClient.Builder` `withInvariantParams(ModifiableSolrParams params)`
`HttpSolrClient.Builder` `withKerberosDelegationToken(String delegationToken)` Use a delegation token for authenticating via the KerberosPlugin

### Methods inherited from class org.apache.solr.client.solrj.impl.SolrClientBuilder

`withConnectionTimeout, withHttpClient, withResponseParser, withSocketTimeout`

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

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

### Field Detail

#### baseSolrUrl

    protected String baseSolrUrl

#### compression

    protected boolean compression

#### invariantParams

    protected ModifiableSolrParams invariantParams

### Constructor Detail

#### Builder

    public Builder()

#### Builder

    public Builder(String baseSolrUrl)

Create a Builder object, based on the provided Solr URL. Two different paths can be specified as a part of this URL: 1) A path pointing directly at a particular core

       SolrClient client = new HttpSolrClient.Builder("http://my-solr-server:8983/solr/core1").build();
       QueryResponse resp = client.query(new SolrQuery("*:*"));

Note that when a core is provided in the base URL, queries and other requests can be made without mentioning the core explicitly. However, the client can only send requests to that core. 2) The path of the root Solr path ("/solr")

       SolrClient client = new HttpSolrClient.Builder("http://my-solr-server:8983/solr").build();
       QueryResponse resp = client.query("core1", new SolrQuery("*:*"));

In this case the client is more flexible and can be used to send requests to any cores. This flexibility though requires that the core be specified on all requests. By default, compression is not enabled on created HttpSolrClient objects.

### Method Detail

#### withBaseSolrUrl

    public HttpSolrClient.Builder withBaseSolrUrl(String baseSolrUrl)

Specify the base-url for the created client to use when sending requests to Solr. Two different paths can be specified as a part of this URL: 1) A path pointing directly at a particular core

       SolrClient client = builder.withBaseSolrUrl("http://my-solr-server:8983/solr/core1").build();
       QueryResponse resp = client.query(new SolrQuery("*:*"));

Note that when a core is provided in the base URL, queries and other requests can be made without mentioning the core explicitly. However, the client can only send requests to that core. 2) The path of the root Solr path ("/solr")

       SolrClient client = builder.withBaseSolrUrl("http://my-solr-server:8983/solr").build();
       QueryResponse resp = client.query("core1", new SolrQuery("*:*"));

In this case the client is more flexible and can be used to send requests to any cores. This flexibility though requires that the core is specified on all requests.

#### allowCompression

    public HttpSolrClient.Builder allowCompression(boolean compression)

Chooses whether created `HttpSolrClient`s use compression by default.

#### withKerberosDelegationToken

    public HttpSolrClient.Builder withKerberosDelegationToken(String delegationToken)

Use a delegation token for authenticating via the KerberosPlugin

#### withInvariantParams

    public HttpSolrClient.Builder withInvariantParams(ModifiableSolrParams params)

#### build

    public HttpSolrClient build()

Create a `HttpSolrClient` based on provided configuration.

#### getThis

    public HttpSolrClient.Builder getThis()

Description copied from class: `SolrClientBuilder`
The solution for the unchecked cast warning.

Specified by:
  `getThis` in class `SolrClientBuilder<HttpSolrClient.Builder>`