# Uses of Class
org.apache.solr.client.solrj.SolrClient

Packages that use SolrClient
Package
Description
org.apache.solr.client.solrj
Primary APIs for communicating with a Solr Server from a Java client.
org.apache.solr.client.solrj.impl
Implementations of some client API classes, and their friends.
org.apache.solr.client.solrj.request
Convenience classes for dealing with various types of Solr requests.

## Uses of SolrClient in org.apache.solr.client.solrj

Classes in org.apache.solr.client.solrj with type parameters of type SolrClient
Modifier and Type
Interface
Description
`static interface`
`SolrClient.SolrClientFunction<C extends SolrClient,R>`
A lambda intended for invoking SolrClient operations
Methods in org.apache.solr.client.solrj with parameters of type SolrClient
Modifier and Type
Method
Description
`final T`
SolrRequest.`process(SolrClient client)`
Send this request to a `SolrClient` and return the response
`final T`
SolrRequest.`process(SolrClient client, String collection)`
Send this request to a `SolrClient` and return the response

## Uses of SolrClient in org.apache.solr.client.solrj.impl

Classes in org.apache.solr.client.solrj.impl with type parameters of type SolrClient
Modifier and Type
Interface
Description
`interface`
`SolrClientCustomizer<T extends SolrClient>`
A config hook for post-configuration of a SolrClient by its builder.
Subclasses of SolrClient in org.apache.solr.client.solrj.impl
Modifier and Type
Class
Description
`class`
`CloudHttp2SolrClient`
This `CloudSolrClient` is a base implementation using a `HttpSolrClientBase`.
`class`
`CloudSolrClient`
A `SolrClient` that routes requests to ideal nodes, including splitting update batches to the correct shards.
`class`
`ConcurrentUpdateBaseSolrClient`
A ConcurrentUpdate `SolrClient` -- it sends updates concurrently and asynchronously.
`class`
`HttpJdkSolrClient`
A SolrClient implementation that communicates to a Solr server using the built-in Java 11+ Http Client.
`class`
`HttpSolrClientBase`
Utility/base functionality for direct HTTP client implementations.
`class`
`LBAsyncSolrClient`
A `LBSolrClient` adding `LBAsyncSolrClient.requestAsync(Req)`.
`class`
`LBSolrClient`
This "LoadBalanced Http Solr Client" is a load balancing wrapper around an Http Solr Client.
Methods in org.apache.solr.client.solrj.impl that return SolrClient
Modifier and Type
Method
Description
`protected abstract SolrClient`
LBSolrClient.`getClient(LBSolrClient.Endpoint endpoint)`
`protected abstract SolrClient`
BaseHttpClusterStateProvider.`getSolrClient(String baseUrl)`
Create a SolrClient implementation that uses the specified Solr node URL
Methods in org.apache.solr.client.solrj.impl with parameters of type SolrClient
Modifier and Type
Method
Description
`protected abstract CompletableFuture<NamedList<Object>>`
LBAsyncSolrClient.`requestAsyncWithUrl(SolrClient client, String baseUrl, SolrRequest<?> request)`

## Uses of SolrClient in org.apache.solr.client.solrj.request

Methods in org.apache.solr.client.solrj.request with parameters of type SolrClient
Modifier and Type
Method
Description
`UpdateResponse`
UpdateRequest.`commit(SolrClient client, String collection)`
`static CoreAdminResponse`
CoreAdminRequest.`createCore(String name, String instanceDir, SolrClient client)`
`static CoreAdminResponse`
CoreAdminRequest.`createCore(String name, String instanceDir, SolrClient client, String configFile, String schemaFile)`
`static CoreAdminResponse`
CoreAdminRequest.`createCore(String name, String instanceDir, SolrClient client, String configFile, String schemaFile, String dataDir, String ulogDir)`
`static CoreStatusResponse.SingleCoreData`
CoreAdminRequest.`getCoreStatus(String coreName, boolean getIndexInfo, SolrClient client)`
`static CoreStatusResponse.SingleCoreData`
CoreAdminRequest.`getCoreStatus(String coreName, SolrClient client)`
`static CoreAdminResponse`
CoreAdminRequest.`getStatus(String name, SolrClient client)`
`static List<String>`
CollectionAdminRequest.`listCollections(SolrClient client)`
Returns a SolrRequest to get a list of collections in the cluster
`static CoreAdminResponse`
CoreAdminRequest.`mergeIndexes(String name, String[] indexDirs, String[] srcCores, SolrClient client)`
`RequestStatusState`
CollectionAdminRequest.AsyncCollectionAdminRequest.`processAndWait(String asyncId, SolrClient client, long timeoutSeconds)`
Send this request to a Solr server, and wait (up to a timeout) for the request to complete or fail
`RequestStatusState`
CollectionAdminRequest.AsyncCollectionAdminRequest.`processAndWait(SolrClient client, long timeoutSeconds)`
Send this request to a Solr server, and wait (up to a timeout) for the request to complete or fail
`String`
CollectionAdminRequest.AsyncCollectionAdminRequest.`processAsync(String asyncId, SolrClient client)`
Process this request asynchronously, using a specified request id
`String`
CollectionAdminRequest.AsyncCollectionAdminRequest.`processAsync(SolrClient client)`
Process this request asynchronously, generating and returning a request id
`static CoreAdminResponse`
CoreAdminRequest.`reloadCore(String name, SolrClient client)`
`static CoreAdminResponse`
CoreAdminRequest.`renameCore(String coreName, String newName, SolrClient client)`
Rename an existing core.
`static CoreAdminResponse`
CoreAdminRequest.`swapCore(String core1, String core2, SolrClient client)`
Swap two existing cores.
`static CoreAdminResponse`
CoreAdminRequest.`unloadCore(String name, boolean deleteIndex, boolean deleteInstanceDir, SolrClient client)`
`static CoreAdminResponse`
CoreAdminRequest.`unloadCore(String name, boolean deleteIndex, SolrClient client)`
`static CoreAdminResponse`
CoreAdminRequest.`unloadCore(String name, SolrClient client)`
`RequestStatusState`
CollectionAdminRequest.RequestStatus.`waitFor(SolrClient client, long timeoutSeconds)`
Wait until the asynchronous request is either completed or failed, up to a timeout
`static void`
CollectionAdminRequest.`waitForAsyncRequest(String requestId, SolrClient client, long timeout)`