Package org.apache.solr.client.solrj.request

## Class CollectionAdminRequest<T extends CollectionAdminResponse>

- java.lang.Object
- - org.apache.solr.client.solrj.SolrRequest<T>
  - - org.apache.solr.client.solrj.request.CollectionAdminRequest<T>

All Implemented Interfaces:
  `Serializable`, `MapSerializable`, `MapWriter`, `NavigableObject`, `org.noggit.JSONWriter.Writable`

Direct Known Subclasses:
  `CollectionAdminRequest.AsyncCollectionAdminRequest`, `CollectionAdminRequest.ClusterProp`, `CollectionAdminRequest.ClusterStatus`, `CollectionAdminRequest.DeleteBackup`, `CollectionAdminRequest.DeleteStatus`, `CollectionAdminRequest.List`, `CollectionAdminRequest.ListAliases`, `CollectionAdminRequest.ListBackup`, `CollectionAdminRequest.RequestApiDistributedProcessing`, `CollectionAdminRequest.RequestStatus`, `CollectionAdminRequest.ShardSpecificAdminRequest`

    public abstract class CollectionAdminRequest<T extends CollectionAdminResponse>
    extends SolrRequest<T>
    implements MapWriter

This class is experimental and subject to change.

Since:
  solr 4.5
See Also:
  Serialized Form

### Nested Class Summary

Nested Classes
`static class` `CollectionAdminRequest.AddReplica`
`static class` `CollectionAdminRequest.AddReplicaProp`
`static class` `CollectionAdminRequest.AddRole`
`static class` `CollectionAdminRequest.AsyncCollectionAdminRequest` Base class for asynchronous collection admin requests
`protected static class` `CollectionAdminRequest.AsyncCollectionSpecificAdminRequest`
`protected static class` `CollectionAdminRequest.AsyncShardSpecificAdminRequest`
`static class` `CollectionAdminRequest.Backup`
`static class` `CollectionAdminRequest.BalanceShardUnique`
`static class` `CollectionAdminRequest.ClusterProp`
`static class` `CollectionAdminRequest.ClusterStatus`
`protected static class` `CollectionAdminRequest.CollectionAdminRoleRequest`
`static class` `CollectionAdminRequest.CollectionProp`
`static class` `CollectionAdminRequest.ColStatus`
`static class` `CollectionAdminRequest.Create`
`static class` `CollectionAdminRequest.CreateAlias`
`static class` `CollectionAdminRequest.CreateCategoryRoutedAlias`
`static class` `CollectionAdminRequest.CreateShard`
`static class` `CollectionAdminRequest.CreateSnapshot`
`static class` `CollectionAdminRequest.CreateTimeRoutedAlias`
`static class` `CollectionAdminRequest.Delete`
`static class` `CollectionAdminRequest.DeleteAlias`
`static class` `CollectionAdminRequest.DeleteBackup` `SolrRequest` class for the "Backup Deletion" API.
`static class` `CollectionAdminRequest.DeleteNode`
`static class` `CollectionAdminRequest.DeleteReplica`
`static class` `CollectionAdminRequest.DeleteReplicaProp`
`static class` `CollectionAdminRequest.DeleteShard`
`static class` `CollectionAdminRequest.DeleteSnapshot`
`static class` `CollectionAdminRequest.DeleteStatus`
`static class` `CollectionAdminRequest.DimensionalRoutedAlias`
`static class` `CollectionAdminRequest.ForceLeader`
`static class` `CollectionAdminRequest.InstallShard`
`static class` `CollectionAdminRequest.List`
`static class` `CollectionAdminRequest.ListAliases`
`static class` `CollectionAdminRequest.ListBackup` `SolrRequest` class for the "Backup List" API.
`static class` `CollectionAdminRequest.ListSnapshots`
`static class` `CollectionAdminRequest.Migrate`
`static class` `CollectionAdminRequest.MockCollTask`
`static class` `CollectionAdminRequest.Modify` A Modify Collection request
`static class` `CollectionAdminRequest.MoveReplica`
`static class` `CollectionAdminRequest.OverseerStatus`
`static class` `CollectionAdminRequest.RebalanceLeaders`
`static class` `CollectionAdminRequest.ReindexCollection`
`static class` `CollectionAdminRequest.Reload`
`static class` `CollectionAdminRequest.RemoveRole`
`static class` `CollectionAdminRequest.Rename`
`static class` `CollectionAdminRequest.ReplaceNode`
`static class` `CollectionAdminRequest.RequestApiDistributedProcessing`
`static class` `CollectionAdminRequest.RequestApiDistributedProcessingResponse` A response object for `CollectionAdminRequest.RequestApiDistributedProcessing` requests
`static class` `CollectionAdminRequest.RequestStatus`
`static class` `CollectionAdminRequest.RequestStatusResponse` A response object for `CollectionAdminRequest.RequestStatus` requests
`static class` `CollectionAdminRequest.Restore`
`static interface` `CollectionAdminRequest.RoutedAliasAdminRequest`
`static class` `CollectionAdminRequest.SetAliasProperty`
`protected static class` `CollectionAdminRequest.ShardSpecificAdminRequest`
`static class` `CollectionAdminRequest.SplitShard`

### Nested classes/interfaces inherited from class org.apache.solr.client.solrj.SolrRequest

`SolrRequest.ApiVersion, SolrRequest.METHOD, SolrRequest.SolrClientContext, SolrRequest.SolrRequestType`

### Nested classes/interfaces inherited from interface org.apache.solr.common.MapWriter

`MapWriter.EntryWriter`

### Field Summary

Fields
`protected CollectionParams.CollectionAction` `action`
`static List<String>` `MODIFIABLE_COLLECTION_PROPERTIES` The set of modifiable collection properties
`static String` `PROPERTY_PREFIX` Deprecated.

### Fields inherited from class org.apache.solr.client.solrj.SolrRequest

`SUPPORTED_METHODS, useBinaryV2, usev2`

### Fields inherited from interface org.apache.solr.common.MapWriter

`EMPTY`

### Constructor Summary

Constructors
`CollectionAdminRequest​(String path, CollectionParams.CollectionAction action)`
`CollectionAdminRequest​(CollectionParams.CollectionAction action)`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`protected void` `addProperties​(ModifiableSolrParams params, Properties props)`
`static CollectionAdminRequest.AddReplica` `addReplicaByRouteKey​(String collection, String routeKey)` Returns a SolrRequest to add a replica to a collection using a route key
`static CollectionAdminRequest.AddReplicaProp` `addReplicaProperty​(String collection, String shard, String replica, String propertyName, String propertyValue)` Returns a SolrRequest to add a property to a specific replica
`static CollectionAdminRequest.AddReplica` `addReplicaToShard​(String collection, String shard)` Returns a SolrRequest to add a replica of type `Replica.Type.NRT` to a shard in a collection
`static CollectionAdminRequest.AddReplica` `addReplicaToShard​(String collection, String shard, Replica.Type replicaType)` Returns a SolrRequest to add a replica of the specified type to a shard in a collection.
`static CollectionAdminRequest.AddRole` `addRole​(String node, String role)` Returns a SolrRequest to add a role to a node
`static CollectionAdminRequest.Backup` `backupCollection​(String collection, String backupName)`
`static CollectionAdminRequest.BalanceShardUnique` `balanceReplicaProperty​(String collection, String propertyName)` Returns a SolrRequest to balance a replica property across the shards of a collection
`static CollectionAdminRequest.ColStatus` `collectionStatus​(String collection)` Return a SolrRequest for low-level detailed status of the specified collection.
`static CollectionAdminRequest.ColStatus` `collectionStatuses()` Return a SolrRequest for low-level detailed status of all collections on the cluster.
`static CollectionAdminRequest.CreateAlias` `createAlias​(String aliasName, String aliasedCollections)` Returns a SolrRequest to create a new alias
`static CollectionAdminRequest.CreateCategoryRoutedAlias` `createCategoryRoutedAlias​(String aliasName, String routerField, int maxCardinality, CollectionAdminRequest.Create createCollTemplate)` Returns a SolrRequest to create a category routed alias.
`static CollectionAdminRequest.Create` `createCollection​(String collection, int numShards, int numReplicas)` Returns a SolrRequest for creating a collection using a default configSet
`static CollectionAdminRequest.Create` `createCollection​(String collection, String config, int numShards, int numReplicas)` Returns a SolrRequest for creating a collection
`static CollectionAdminRequest.Create` `createCollection​(String collection, String config, Integer numShards, Integer numNrtReplicas, Integer numTlogReplicas, Integer numPullReplicas)` Returns a SolrRequest for creating a collection
`static CollectionAdminRequest.Create` `createCollectionWithImplicitRouter​(String collection, String config, String shards, int numReplicas)` Returns a SolrRequest for creating a collection with the implicit router
`static CollectionAdminRequest.Create` `createCollectionWithImplicitRouter​(String collection, String config, String shards, int numNrtReplicas, int numTlogReplicas, int numPullReplicas)` Returns a SolrRequest for creating a collection with the implicit router and specific types of replicas
`static CollectionAdminRequest.DimensionalRoutedAlias` `createDimensionalRoutedAlias​(String aliasName, CollectionAdminRequest.Create createCollTemplate, CollectionAdminRequest.RoutedAliasAdminRequest... dims)` Create a Dimensional Routed alias from two or more routed alias types.
`static CollectionAdminRequest.CreateShard` `createShard​(String collection, String shard)` Returns a SolrRequest to create a new shard in a collection
`static CollectionAdminRequest.CreateTimeRoutedAlias` `createTimeRoutedAlias​(String aliasName, String start, String interval, String routerField, CollectionAdminRequest.Create createCollTemplate)` Returns a SolrRequest to create a time routed alias.
`static CollectionAdminRequest.DeleteAlias` `deleteAlias​(String aliasName)` Returns a SolrRequest to delete an alias
`static CollectionAdminRequest.DeleteStatus` `deleteAllAsyncIds()` Returns a SolrRequest to delete a all asynchronous request statuses
`static CollectionAdminRequest.DeleteStatus` `deleteAsyncId​(String requestId)` Returns a SolrRequest to delete an asynchronous request status
`static CollectionAdminRequest.DeleteBackup` `deleteBackupById​(String backupName, int backupId)` Configure a `SolrRequest` object to delete a single backup-point by it's Backup ID.
`static CollectionAdminRequest.DeleteBackup` `deleteBackupByRecency​(String backupName, int numRecentBackupPointsToRetain)` Create a `SolrRequest` object to delete all backup-points after the most recent 'N'
`static CollectionAdminRequest.DeleteBackup` `deleteBackupPurgeUnusedFiles​(String backupName)` Create a `SolrRequest` object to delete all unused-files at the backup location.
`static CollectionAdminRequest.Delete` `deleteCollection​(String collection)` Returns a SolrRequest to delete a collection
`static CollectionAdminRequest.DeleteNode` `deleteNode​(String node)` Returns a SolrRequest to delete a node.
`static CollectionAdminRequest.DeleteReplica` `deleteReplica​(String collection, String shard, int count)`
`static CollectionAdminRequest.DeleteReplica` `deleteReplica​(String collection, String shard, String replica)` Returns a SolrRequest to delete a replica from a shard in a collection
`static CollectionAdminRequest.DeleteReplicaProp` `deleteReplicaProperty​(String collection, String shard, String replica, String propertyName)` Returns a SolrRequest to delete a property from a specific replica
`static CollectionAdminRequest.DeleteReplica` `deleteReplicasFromAllShards​(String collection, int count)`
`static CollectionAdminRequest.DeleteReplica` `deleteReplicasFromShard​(String collection, String shard, int count)` Returns a SolrRequest to remove a number of replicas from a specific shard
`static CollectionAdminRequest.DeleteShard` `deleteShard​(String collection, String shard)` Returns a SolrRequest to delete a shard from a collection
`static CollectionAdminRequest.ForceLeader` `forceLeaderElection​(String collection, String shard)` Returns a SolrRequest to force a leader election for a shard in a collection
`static CollectionAdminRequest.ClusterStatus` `getClusterStatus()` Return a SolrRequest to get the Cluster status
`static CollectionAdminRequest.OverseerStatus` `getOverseerStatus()` Return a SolrRequest to get the Overseer status
`SolrParams` `getParams()`
`String` `getRequestType()` This method defines the type of this Solr request.
`static CollectionAdminRequest.InstallShard` `installDataToShard​(String collection, String shard, String location)` Install index data to a specific shard of a specific collection
`static CollectionAdminRequest.InstallShard` `installDataToShard​(String collection, String shard, String location, String backupRepository)` Install index data to a specific shard of a specific collection
`static CollectionAdminRequest.ListBackup` `listBackup​(String backupName)` Create a `SolrRequest` object to list information about all backup points with the specified name.
`static List<String>` `listCollections​(SolrClient client)` Returns a SolrRequest to get a list of collections in the cluster
`static CollectionAdminRequest.Migrate` `migrateData​(String collection, String targetCollection, String splitKey)` Returns a SolrRequest to migrate data matching a split key to another collection
`static CollectionAdminRequest.MockCollTask` `mockCollTask​(String collection)` Returns a SolrRequest to run a mock task.
`static CollectionAdminRequest.Modify` `modifyCollection​(String collection, Map<String,​Object> properties)` Returns a SolrRequest for modifying a collection with the given properties
`static CollectionAdminRequest.MoveReplica` `moveReplica​(String collection, String replica, String targetNode)`
`protected <T extends CollectionAdminRequest<? extends CollectionAdminResponse>> T` `propagateBasicAuthCreds​(T req)` Take the request specific basic auth creds on this admin request and propagate them to a related request if does not already have credentials set, such as a CollectionAdminRequest.RequestStatus when doing async requests.
`static CollectionAdminRequest.RebalanceLeaders` `rebalanceLeaders​(String collection)`
`static CollectionAdminRequest.ReindexCollection` `reindexCollection​(String collection)` Returns a SolrRequest to reindex a collection
`static CollectionAdminRequest.Reload` `reloadCollection​(String collection)` Returns a SolrRequest to reload a collection
`static CollectionAdminRequest.RemoveRole` `removeRole​(String node, String role)` Returns a SolrRequest to remove a role from a node
`static CollectionAdminRequest.Rename` `renameCollection​(String collection, String target)`
`static CollectionAdminRequest.RequestStatus` `requestStatus​(String requestId)` Returns a SolrRequest for checking the status of an asynchronous request
`static CollectionAdminRequest.Restore` `restoreCollection​(String collection, String backupName)`
`static CollectionAdminRequest.SetAliasProperty` `setAliasProperty​(String aliasName)` Returns a SolrRequest to add or remove properties from an alias
`static CollectionAdminRequest.ClusterProp` `setClusterProperty​(String propertyName, String propertyValue)` Returns a SolrRequest to set (or unset) a cluster property
`static CollectionAdminRequest.CollectionProp` `setCollectionProperty​(String collection, String propertyName, String propertyValue)`
`static CollectionAdminRequest.SplitShard` `splitShard​(String collection)` Returns a SolrRequest to split a shard in a collection
`String` `toString()`
`static void` `waitForAsyncRequest​(String requestId, SolrClient client, long timeout)`
`void` `writeMap​(MapWriter.EntryWriter ew)`

### Methods inherited from class org.apache.solr.client.solrj.SolrRequest

`addHeader, addHeaders, createResponse, getApiVersion, getBasePath, getBasicAuthPassword, getBasicAuthUser, getCollection, getContentStreams, getContentWriter, getHeaders, getMethod, getPath, getPreferredNodes, getQueryParams, getResponseParser, getStreamingResponseCallback, getUserPrincipal, process, process, requiresCollection, setBasePath, setBasicAuthCredentials, setMethod, setPath, setPreferredNodes, setQueryParams, setResponseParser, setStreamingResponseCallback, setUseBinaryV2, setUserPrincipal, setUseV2`

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

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

### Methods inherited from interface org.apache.solr.common.MapWriter

`append, jsonStr, toMap, write`

### Methods inherited from interface org.apache.solr.common.NavigableObject

`_forEachEntry, _forEachEntry, _forEachEntry, _get, _get, _getStr, _getStr, _size`

### Field Detail

#### MODIFIABLE_COLLECTION_PROPERTIES

    public static final List<String> MODIFIABLE_COLLECTION_PROPERTIES

The set of modifiable collection properties

#### action

    protected final CollectionParams.CollectionAction action

#### PROPERTY_PREFIX

    @Deprecated
    public static String PROPERTY_PREFIX

Deprecated.

### Constructor Detail

#### CollectionAdminRequest

    public CollectionAdminRequest​(CollectionParams.CollectionAction action)

#### CollectionAdminRequest

    public CollectionAdminRequest​(String path,
                                  CollectionParams.CollectionAction action)

### Method Detail

#### getParams

    public SolrParams getParams()

Specified by:
  `getParams` in class `SolrRequest<T extends CollectionAdminResponse>`

#### addProperties

    protected void addProperties​(ModifiableSolrParams params,
                                 Properties props)

#### writeMap

    public void writeMap​(MapWriter.EntryWriter ew)
                  throws IOException

Specified by:
  `writeMap` in interface `MapWriter`
Throws:
  `IOException`

#### toString

    public String toString()

Overrides:
  `toString` in class `Object`

#### getRequestType

    public String getRequestType()

Description copied from class: `SolrRequest`
This method defines the type of this Solr request.

Specified by:
  `getRequestType` in class `SolrRequest<T extends CollectionAdminResponse>`

#### propagateBasicAuthCreds

    protected <T extends CollectionAdminRequest<? extends CollectionAdminResponse>> T propagateBasicAuthCreds​(T req)

Take the request specific basic auth creds on this admin request and propagate them to a related request if does not already have credentials set, such as a CollectionAdminRequest.RequestStatus when doing async requests.

#### createCollection

    public static CollectionAdminRequest.Create createCollection​(String collection,
                                                                 String config,
                                                                 Integer numShards,
                                                                 Integer numNrtReplicas,
                                                                 Integer numTlogReplicas,
                                                                 Integer numPullReplicas)

Returns a SolrRequest for creating a collection

Parameters:
  `collection` - the collection name
  `config` - the collection config
  `numShards` - the number of shards in the collection
  `numNrtReplicas` - the number of `Replica.Type.NRT` replicas
  `numTlogReplicas` - the number of `Replica.Type.TLOG` replicas
  `numPullReplicas` - the number of `Replica.Type.PULL` replicas

#### createCollection

    public static CollectionAdminRequest.Create createCollection​(String collection,
                                                                 String config,
                                                                 int numShards,
                                                                 int numReplicas)

Returns a SolrRequest for creating a collection

Parameters:
  `collection` - the collection name
  `config` - the collection config
  `numShards` - the number of shards in the collection
  `numReplicas` - the replication factor of the collection (same as numNrtReplicas)

#### createCollection

    public static CollectionAdminRequest.Create createCollection​(String collection,
                                                                 int numShards,
                                                                 int numReplicas)

Returns a SolrRequest for creating a collection using a default configSet

This requires that there is either a single configset configured in the cluster, or that there is a configset with the same name as the collection

Parameters:
  `collection` - the collection name
  `numShards` - the number of shards in the collection
  `numReplicas` - the replication factor of the collection

#### createCollectionWithImplicitRouter

    public static CollectionAdminRequest.Create createCollectionWithImplicitRouter​(String collection,
                                                                                   String config,
                                                                                   String shards,
                                                                                   int numReplicas)

Returns a SolrRequest for creating a collection with the implicit router

Parameters:
  `collection` - the collection name
  `config` - the collection config
  `shards` - a shard definition string
  `numReplicas` - the replication factor of the collection

#### createCollectionWithImplicitRouter

    public static CollectionAdminRequest.Create createCollectionWithImplicitRouter​(String collection,
                                                                                   String config,
                                                                                   String shards,
                                                                                   int numNrtReplicas,
                                                                                   int numTlogReplicas,
                                                                                   int numPullReplicas)

Returns a SolrRequest for creating a collection with the implicit router and specific types of replicas

Parameters:
  `collection` - the collection name
  `config` - the collection config
  `shards` - a shard definition string
  `numNrtReplicas` - the number of replicas of type `Replica.Type.NRT`
  `numTlogReplicas` - the number of replicas of type `Replica.Type.TLOG`
  `numPullReplicas` - the number of replicas of type `Replica.Type.PULL`

#### modifyCollection

    public static CollectionAdminRequest.Modify modifyCollection​(String collection,
                                                                 Map<String,​Object> properties)

Returns a SolrRequest for modifying a collection with the given properties

Parameters:
  `collection` - the collection name
  `properties` - a map of key and values with which the collection is to be modified

#### reloadCollection

    public static CollectionAdminRequest.Reload reloadCollection​(String collection)

Returns a SolrRequest to reload a collection

#### renameCollection

    public static CollectionAdminRequest.Rename renameCollection​(String collection,
                                                                 String target)

#### deleteNode

    public static CollectionAdminRequest.DeleteNode deleteNode​(String node)

Returns a SolrRequest to delete a node.

#### moveReplica

    public static CollectionAdminRequest.MoveReplica moveReplica​(String collection,
                                                                 String replica,
                                                                 String targetNode)

#### rebalanceLeaders

    public static CollectionAdminRequest.RebalanceLeaders rebalanceLeaders​(String collection)

#### reindexCollection

    public static CollectionAdminRequest.ReindexCollection reindexCollection​(String collection)

Returns a SolrRequest to reindex a collection

#### collectionStatus

    public static CollectionAdminRequest.ColStatus collectionStatus​(String collection)

Return a SolrRequest for low-level detailed status of the specified collection.

Parameters:
  `collection` - the collection to get the status of.

#### collectionStatuses

    public static CollectionAdminRequest.ColStatus collectionStatuses()

Return a SolrRequest for low-level detailed status of all collections on the cluster.

#### deleteCollection

    public static CollectionAdminRequest.Delete deleteCollection​(String collection)

Returns a SolrRequest to delete a collection

#### backupCollection

    public static CollectionAdminRequest.Backup backupCollection​(String collection,
                                                                 String backupName)

#### restoreCollection

    public static CollectionAdminRequest.Restore restoreCollection​(String collection,
                                                                   String backupName)

#### installDataToShard

    public static CollectionAdminRequest.InstallShard installDataToShard​(String collection,
                                                                         String shard,
                                                                         String location,
                                                                         String backupRepository)

Install index data to a specific shard of a specific collection

Parameters:
  `collection` - the collection to install data to
  `shard` - the specific shard within to install data to
  `location` - a URI-string pointing to location of the index data within a particular backup repository
  `backupRepository` - the backup repository to lookup and install the index data from

#### installDataToShard

    public static CollectionAdminRequest.InstallShard installDataToShard​(String collection,
                                                                         String shard,
                                                                         String location)

Install index data to a specific shard of a specific collection

Will use Solr's "default" backup repository for locating and accessing the index data.

Parameters:
  `collection` - the collection to install data to
  `shard` - the specific shard within to install data to
  `location` - a URI-string pointing to location of the index data within a particular backup repository

#### createShard

    public static CollectionAdminRequest.CreateShard createShard​(String collection,
                                                                 String shard)

Returns a SolrRequest to create a new shard in a collection

#### mockCollTask

    public static CollectionAdminRequest.MockCollTask mockCollTask​(String collection)

Returns a SolrRequest to run a mock task. For tests only.

#### splitShard

    public static CollectionAdminRequest.SplitShard splitShard​(String collection)

Returns a SolrRequest to split a shard in a collection

#### deleteShard

    public static CollectionAdminRequest.DeleteShard deleteShard​(String collection,
                                                                 String shard)

Returns a SolrRequest to delete a shard from a collection

#### forceLeaderElection

    public static CollectionAdminRequest.ForceLeader forceLeaderElection​(String collection,
                                                                         String shard)

Returns a SolrRequest to force a leader election for a shard in a collection

WARNING: This may cause data loss if the new leader does not contain updates acknowledged by the old leader. Use only if leadership elections are entirely broken.

#### requestStatus

    public static CollectionAdminRequest.RequestStatus requestStatus​(String requestId)

Returns a SolrRequest for checking the status of an asynchronous request

See Also:
  `CollectionAdminRequest.AsyncCollectionAdminRequest`

#### waitForAsyncRequest

    public static void waitForAsyncRequest​(String requestId,
                                           SolrClient client,
                                           long timeout)
                                    throws SolrServerException,
                                           InterruptedException,
                                           IOException

Throws:
  `SolrServerException`
  `InterruptedException`
  `IOException`

#### deleteAsyncId

    public static CollectionAdminRequest.DeleteStatus deleteAsyncId​(String requestId)

Returns a SolrRequest to delete an asynchronous request status

#### deleteAllAsyncIds

    public static CollectionAdminRequest.DeleteStatus deleteAllAsyncIds()

Returns a SolrRequest to delete a all asynchronous request statuses

#### setAliasProperty

    public static CollectionAdminRequest.SetAliasProperty setAliasProperty​(String aliasName)

Returns a SolrRequest to add or remove properties from an alias

Parameters:
  `aliasName` - the alias to modify

#### createAlias

    public static CollectionAdminRequest.CreateAlias createAlias​(String aliasName,
                                                                 String aliasedCollections)

Returns a SolrRequest to create a new alias

Parameters:
  `aliasName` - the alias name
  `aliasedCollections` - the collections to alias

#### createTimeRoutedAlias

    public static CollectionAdminRequest.CreateTimeRoutedAlias createTimeRoutedAlias​(String aliasName,
                                                                                     String start,
                                                                                     String interval,
                                                                                     String routerField,
                                                                                     CollectionAdminRequest.Create createCollTemplate)

Returns a SolrRequest to create a time routed alias. For time based routing, the start should be a standard Solr timestamp string (possibly with "date math").

Parameters:
  `aliasName` - the name of the alias to create.
  `start` - the start of the routing. A standard Solr date: ISO-8601 or NOW with date math.
  `interval` - date math representing the time duration of each collection (e.g. `+1DAY`)
  `routerField` - the document field to contain the timestamp to route on
  `createCollTemplate` - Holds options to create a collection. The "name" is ignored.

#### createCategoryRoutedAlias

    public static CollectionAdminRequest.CreateCategoryRoutedAlias createCategoryRoutedAlias​(String aliasName,
                                                                                             String routerField,
                                                                                             int maxCardinality,
                                                                                             CollectionAdminRequest.Create createCollTemplate)

Returns a SolrRequest to create a category routed alias.

Parameters:
  `aliasName` - the name of the alias to create.
  `routerField` - the document field to contain the timestamp to route on
  `maxCardinality` - the maximum number of collections under this CRA
  `createCollTemplate` - Holds options to create a collection. The "name" is ignored.

#### createDimensionalRoutedAlias

    public static CollectionAdminRequest.DimensionalRoutedAlias createDimensionalRoutedAlias​(String aliasName,
                                                                                             CollectionAdminRequest.Create createCollTemplate,
                                                                                             CollectionAdminRequest.RoutedAliasAdminRequest... dims)

Create a Dimensional Routed alias from two or more routed alias types.

Parameters:
  `aliasName` - The name of the alias
  `createCollTemplate` - a create command that will be used for all collections created
  `dims` - Routed Alias requests. Note that the aliasName and collection templates inside dimensions will be ignored and may be safely set to null
Returns:
  An object representing a basic DimensionalRoutedAlias creation request.

#### deleteAlias

    public static CollectionAdminRequest.DeleteAlias deleteAlias​(String aliasName)

Returns a SolrRequest to delete an alias

#### addReplicaToShard

    public static CollectionAdminRequest.AddReplica addReplicaToShard​(String collection,
                                                                      String shard)

Returns a SolrRequest to add a replica of type `Replica.Type.NRT` to a shard in a collection

#### addReplicaToShard

    public static CollectionAdminRequest.AddReplica addReplicaToShard​(String collection,
                                                                      String shard,
                                                                      Replica.Type replicaType)

Returns a SolrRequest to add a replica of the specified type to a shard in a collection. If the replica type is null, the server default will be used.

#### addReplicaByRouteKey

    public static CollectionAdminRequest.AddReplica addReplicaByRouteKey​(String collection,
                                                                         String routeKey)

Returns a SolrRequest to add a replica to a collection using a route key

#### deleteReplica

    public static CollectionAdminRequest.DeleteReplica deleteReplica​(String collection,
                                                                     String shard,
                                                                     String replica)

Returns a SolrRequest to delete a replica from a shard in a collection

#### deleteReplica

    public static CollectionAdminRequest.DeleteReplica deleteReplica​(String collection,
                                                                     String shard,
                                                                     int count)

#### deleteReplicasFromShard

    public static CollectionAdminRequest.DeleteReplica deleteReplicasFromShard​(String collection,
                                                                               String shard,
                                                                               int count)

Returns a SolrRequest to remove a number of replicas from a specific shard

#### deleteReplicasFromAllShards

    public static CollectionAdminRequest.DeleteReplica deleteReplicasFromAllShards​(String collection,
                                                                                   int count)

#### setClusterProperty

    public static CollectionAdminRequest.ClusterProp setClusterProperty​(String propertyName,
                                                                        String propertyValue)

Returns a SolrRequest to set (or unset) a cluster property

#### setCollectionProperty

    public static CollectionAdminRequest.CollectionProp setCollectionProperty​(String collection,
                                                                              String propertyName,
                                                                              String propertyValue)

#### migrateData

    public static CollectionAdminRequest.Migrate migrateData​(String collection,
                                                             String targetCollection,
                                                             String splitKey)

Returns a SolrRequest to migrate data matching a split key to another collection

#### addRole

    public static CollectionAdminRequest.AddRole addRole​(String node,
                                                         String role)

Returns a SolrRequest to add a role to a node

#### removeRole

    public static CollectionAdminRequest.RemoveRole removeRole​(String node,
                                                               String role)

Returns a SolrRequest to remove a role from a node

#### getOverseerStatus

    public static CollectionAdminRequest.OverseerStatus getOverseerStatus()

Return a SolrRequest to get the Overseer status

#### getClusterStatus

    public static CollectionAdminRequest.ClusterStatus getClusterStatus()

Return a SolrRequest to get the Cluster status

#### listCollections

    public static List<String> listCollections​(SolrClient client)
                                        throws IOException,
                                               SolrServerException

Returns a SolrRequest to get a list of collections in the cluster

Throws:
  `IOException`
  `SolrServerException`

#### deleteBackupById

    public static CollectionAdminRequest.DeleteBackup deleteBackupById​(String backupName,
                                                                       int backupId)

Configure a `SolrRequest` object to delete a single backup-point by it's Backup ID.

The created request object is only valid on backup locations that use the new "incremental" backup file-format introduced in Solr 8.9. It should not be used on locations holding "non-incremental" backups (those created prior to 8.9, or after 8.9 using the advanced "incremental=false" flag).

Parameters:
  `backupName` - the name of the backup that this request should delete a single backup-point from.
  `backupId` - the ID of the backup-point for this request to delete

#### deleteBackupByRecency

    public static CollectionAdminRequest.DeleteBackup deleteBackupByRecency​(String backupName,
                                                                            int numRecentBackupPointsToRetain)

Create a `SolrRequest` object to delete all backup-points after the most recent 'N'

The created request object is only valid on backup locations that use the new "incremental" backup file-format introduced in Solr 8.9. It should not be used on locations holding "non-incremental" backups (those created prior to 8.9, or after 8.9 using the advanced "incremental=false" flag).

Parameters:
  `backupName` - the name of the backup that this request should delete backup-points from.
  `numRecentBackupPointsToRetain` - the number of "most-recent" backup-points to retain.

#### deleteBackupPurgeUnusedFiles

    public static CollectionAdminRequest.DeleteBackup deleteBackupPurgeUnusedFiles​(String backupName)

Create a `SolrRequest` object to delete all unused-files at the backup location.

The created request object is only valid on backup locations that use the new "incremental" backup file-format introduced in Solr 8.9. It should not be used on locations holding "non-incremental" backups (those created prior to 8.9, or after 8.9 using the advanced "incremental=false" flag).

Parameters:
  `backupName` - the name of the backup that this request should delete unused files from.

#### listBackup

    public static CollectionAdminRequest.ListBackup listBackup​(String backupName)

Create a `SolrRequest` object to list information about all backup points with the specified name.

Parameters:
  `backupName` - the name of the backup that this request should list information about

#### addReplicaProperty

    public static CollectionAdminRequest.AddReplicaProp addReplicaProperty​(String collection,
                                                                           String shard,
                                                                           String replica,
                                                                           String propertyName,
                                                                           String propertyValue)

Returns a SolrRequest to add a property to a specific replica

#### deleteReplicaProperty

    public static CollectionAdminRequest.DeleteReplicaProp deleteReplicaProperty​(String collection,
                                                                                 String shard,
                                                                                 String replica,
                                                                                 String propertyName)

Returns a SolrRequest to delete a property from a specific replica

#### balanceReplicaProperty

    public static CollectionAdminRequest.BalanceShardUnique balanceReplicaProperty​(String collection,
                                                                                   String propertyName)

Returns a SolrRequest to balance a replica property across the shards of a collection