Class CreateCollection
java.lang.Object
org.apache.solr.api.JerseyResource
org.apache.solr.handler.admin.api.AdminAPIBase
org.apache.solr.handler.admin.api.CreateCollection
- All Implemented Interfaces:
CreateCollectionApi
V2 API for creating a SolrCLoud collection
This API is analogous to the v1 /admin/collections?action=CREATE command.
-
Field Summary
Fields inherited from class org.apache.solr.handler.admin.api.AdminAPIBase
coreContainer, solrQueryRequest, solrQueryResponseFields inherited from class org.apache.solr.api.JerseyResource
containerRequestContext -
Constructor Summary
ConstructorsConstructorDescriptionCreateCollection(CoreContainer coreContainer, SolrQueryRequest solrQueryRequest, SolrQueryResponse solrQueryResponse) -
Method Summary
Modifier and TypeMethodDescriptionstatic voidaddToRemoteMessageWithPrefix(CreateCollectionRequestBody requestBody, Map<String, Object> remoteMessage, String prefix) static voidconvertV2CreateCollectionMapToV1ParamMap(Map<String, Object> v2MapVals) Convert a map representing the v2 request body into v1-appropriate query-parameters.copyPrefixedPropertiesWithoutPrefix(org.apache.solr.common.params.SolrParams params, Map<String, String> props, String prefix) createCollection(CreateCollectionRequestBody requestBody) static org.apache.solr.common.cloud.ZkNodePropsstatic CreateCollectionRequestBodycreateRequestBodyFromV1Params(org.apache.solr.common.params.SolrParams params, boolean nameRequired) static voidpopulateDefaultsIfNecessary(CoreContainer coreContainer, CreateCollectionRequestBody requestBody) static voidvalidateRequestBody(CreateCollectionRequestBody requestBody) Methods inherited from class org.apache.solr.handler.admin.api.AdminAPIBase
disableResponseCaching, fetchAndValidateZooKeeperAwareCoreContainer, insertIfNotNull, recordCollectionForLogAndTracing, resolveAndValidateAliasIfEnabled, resolveCollectionName, submitRemoteMessageAndHandleResponse, validateZooKeeperAwareCoreContainerMethods inherited from class org.apache.solr.api.JerseyResource
ensureRequiredParameterProvided, ensureRequiredRequestBodyProvided, instantiateJerseyResponse, instantiateJerseyResponse
-
Constructor Details
-
CreateCollection
@Inject public CreateCollection(CoreContainer coreContainer, SolrQueryRequest solrQueryRequest, SolrQueryResponse solrQueryResponse)
-
-
Method Details
-
createCollection
public SubResponseAccumulatingJerseyResponse createCollection(CreateCollectionRequestBody requestBody) throws Exception - Specified by:
createCollectionin interfaceCreateCollectionApi- Throws:
Exception
-
populateDefaultsIfNecessary
public static void populateDefaultsIfNecessary(CoreContainer coreContainer, CreateCollectionRequestBody requestBody) throws IOException - Throws:
IOException
-
createRemoteMessage
public static org.apache.solr.common.cloud.ZkNodeProps createRemoteMessage(CreateCollectionRequestBody reqBody) -
copyPrefixedPropertiesWithoutPrefix
-
createRequestBodyFromV1Params
public static CreateCollectionRequestBody createRequestBodyFromV1Params(org.apache.solr.common.params.SolrParams params, boolean nameRequired) -
validateRequestBody
-
convertV2CreateCollectionMapToV1ParamMap
Convert a map representing the v2 request body into v1-appropriate query-parameters.Most v2 APIs using the legacy (i.e. non-JAX-RS) framework implement the v2 API by restructuring the provided parameters so that the v1 codepath can be called. This utility method is provided in pursuit of that usecase. It's not used directly CreateCollectionAPI, which uses the JAX-RS framework, but it's kept here so that logic surrounding collection-creation parameters can be kept in a single place.
-
addToRemoteMessageWithPrefix
public static void addToRemoteMessageWithPrefix(CreateCollectionRequestBody requestBody, Map<String, Object> remoteMessage, String prefix)
-