Package org.apache.solr.handler.admin
Class CollectionsHandler
- java.lang.Object
-
- org.apache.solr.handler.RequestHandlerBase
-
- org.apache.solr.handler.admin.CollectionsHandler
-
- All Implemented Interfaces:
AutoCloseable
,ApiSupport
,SolrInfoBean
,NestedRequestHandler
,SolrMetricProducer
,SolrRequestHandler
,PermissionNameProvider
public class CollectionsHandler extends RequestHandlerBase implements PermissionNameProvider
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
CollectionsHandler.CollectionOperation
-
Nested classes/interfaces inherited from interface org.apache.solr.security.PermissionNameProvider
PermissionNameProvider.Name
-
Nested classes/interfaces inherited from interface org.apache.solr.core.SolrInfoBean
SolrInfoBean.Category, SolrInfoBean.Group
-
-
Field Summary
Fields Modifier and Type Field Description protected CoreContainer
coreContainer
static long
DEFAULT_COLLECTION_OP_TIMEOUT
-
Fields inherited from class org.apache.solr.handler.RequestHandlerBase
appends, defaults, httpCaching, initArgs, invariants, solrMetricsContext
-
Fields inherited from interface org.apache.solr.security.PermissionNameProvider
ANY, NULL, values
-
Fields inherited from interface org.apache.solr.request.SolrRequestHandler
TYPE
-
-
Constructor Summary
Constructors Constructor Description CollectionsHandler()
CollectionsHandler(CoreContainer coreContainer)
Overloaded ctor to inject CoreContainer into the handler.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
copyFromClusterProp(Map<String,Object> props, String prop)
Collection<Api>
getApis()
It is possible to support multiple v2 apis by a single requesthandlerSolrInfoBean.Category
getCategory()
Category of this componentCoreContainer
getCoreContainer()
The instance of CoreContainer this handler handles.String
getDescription()
Simple one or two line descriptionPermissionNameProvider.Name
getPermissionName(AuthorizationContext ctx)
void
handleRequestBody(SolrQueryRequest req, SolrQueryResponse rsp)
void
init(NamedList args)
Initializes theSolrRequestHandler
by creating threeSolrParams
named.static ModifiableSolrParams
params(String... params)
Boolean
registerV2()
Whether this request handler must be made available at the /v2/ pathSolrResponse
sendToOCPQueue(ZkNodeProps m)
SolrResponse
sendToOCPQueue(ZkNodeProps m, long timeout)
static void
verifyRuleParams(CoreContainer cc, Map<String,Object> m)
static void
waitForActiveCollection(String collectionName, CoreContainer cc, SolrResponse createCollResponse)
-
Methods inherited from class org.apache.solr.handler.RequestHandlerBase
getInitArgs, getMetricNames, getName, getPluginInfo, getRequestHandler, getSolrMetricsContext, getSolrParamsFromNamedList, getSubHandler, handleRequest, initializeMetrics, setPluginInfo
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.solr.api.ApiSupport
registerV1
-
Methods inherited from interface org.apache.solr.core.SolrInfoBean
getMetricRegistry, getMetricsSnapshot, registerMetricName
-
Methods inherited from interface org.apache.solr.metrics.SolrMetricProducer
close, initializeMetrics
-
-
-
-
Field Detail
-
coreContainer
protected final CoreContainer coreContainer
-
DEFAULT_COLLECTION_OP_TIMEOUT
public static long DEFAULT_COLLECTION_OP_TIMEOUT
-
-
Constructor Detail
-
CollectionsHandler
public CollectionsHandler()
-
CollectionsHandler
public CollectionsHandler(CoreContainer coreContainer)
Overloaded ctor to inject CoreContainer into the handler.- Parameters:
coreContainer
- Core Container of the solr webapp installed.
-
-
Method Detail
-
getPermissionName
public PermissionNameProvider.Name getPermissionName(AuthorizationContext ctx)
- Specified by:
getPermissionName
in interfacePermissionNameProvider
-
init
public final void init(NamedList args)
Description copied from class:RequestHandlerBase
Initializes theSolrRequestHandler
by creating threeSolrParams
named.Name Description defaults Contains all of the named arguments contained within the list element named "defaults". appends Contains all of the named arguments contained within the list element named "appends". invariants Contains all of the named arguments contained within the list element named "invariants". Example:
<lst name="defaults"> <str name="echoParams">explicit</str> <str name="qf">text^0.5 features^1.0 name^1.2 sku^1.5 id^10.0</str> <str name="mm">2<-1 5<-2 6<90%</str> <str name="bq">incubationdate_dt:[* TO NOW/DAY-1MONTH]^2.2</str> </lst> <lst name="appends"> <str name="fq">inStock:true</str> </lst> <lst name="invariants"> <str name="facet.field">cat</str> <str name="facet.field">manu_exact</str> <str name="facet.query">price:[* TO 500]</str> <str name="facet.query">price:[500 TO *]</str> </lst>
- Specified by:
init
in interfaceSolrRequestHandler
- Overrides:
init
in classRequestHandlerBase
- Parameters:
args
- TheNamedList
to initialize from- See Also:
RequestHandlerBase.handleRequest(org.apache.solr.request.SolrQueryRequest, org.apache.solr.response.SolrQueryResponse)
,RequestHandlerBase.handleRequestBody(org.apache.solr.request.SolrQueryRequest, org.apache.solr.response.SolrQueryResponse)
,SolrPluginUtils.setDefaults(org.apache.solr.request.SolrQueryRequest, org.apache.solr.common.params.SolrParams, org.apache.solr.common.params.SolrParams, org.apache.solr.common.params.SolrParams)
,See also the example solrconfig.xml located in the Solr codebase (example/solr/conf).
-
getCoreContainer
public CoreContainer getCoreContainer()
The instance of CoreContainer this handler handles. This should be the CoreContainer instance that created this handler.- Returns:
- a CoreContainer instance
-
copyFromClusterProp
protected void copyFromClusterProp(Map<String,Object> props, String prop) throws IOException
- Throws:
IOException
-
handleRequestBody
public void handleRequestBody(SolrQueryRequest req, SolrQueryResponse rsp) throws Exception
- Specified by:
handleRequestBody
in classRequestHandlerBase
- Throws:
Exception
-
sendToOCPQueue
public SolrResponse sendToOCPQueue(ZkNodeProps m) throws org.apache.zookeeper.KeeperException, InterruptedException
- Throws:
org.apache.zookeeper.KeeperException
InterruptedException
-
sendToOCPQueue
public SolrResponse sendToOCPQueue(ZkNodeProps m, long timeout) throws org.apache.zookeeper.KeeperException, InterruptedException
- Throws:
org.apache.zookeeper.KeeperException
InterruptedException
-
params
public static ModifiableSolrParams params(String... params)
-
getDescription
public String getDescription()
Description copied from interface:SolrInfoBean
Simple one or two line description- Specified by:
getDescription
in interfaceSolrInfoBean
- Specified by:
getDescription
in classRequestHandlerBase
-
getCategory
public SolrInfoBean.Category getCategory()
Description copied from interface:SolrInfoBean
Category of this component- Specified by:
getCategory
in interfaceSolrInfoBean
- Overrides:
getCategory
in classRequestHandlerBase
-
waitForActiveCollection
public static void waitForActiveCollection(String collectionName, CoreContainer cc, SolrResponse createCollResponse) throws org.apache.zookeeper.KeeperException, InterruptedException
- Throws:
org.apache.zookeeper.KeeperException
InterruptedException
-
verifyRuleParams
public static void verifyRuleParams(CoreContainer cc, Map<String,Object> m)
-
getApis
public Collection<Api> getApis()
Description copied from interface:ApiSupport
It is possible to support multiple v2 apis by a single requesthandler- Specified by:
getApis
in interfaceApiSupport
- Overrides:
getApis
in classRequestHandlerBase
- Returns:
- the list of v2 api implementations
-
registerV2
public Boolean registerV2()
Description copied from interface:ApiSupport
Whether this request handler must be made available at the /v2/ path- Specified by:
registerV2
in interfaceApiSupport
-
-