Package org.apache.solr.handler.admin
Class CoreAdminHandler
- java.lang.Object
-
- org.apache.solr.handler.RequestHandlerBase
-
- org.apache.solr.handler.admin.CoreAdminHandler
-
- All Implemented Interfaces:
AutoCloseable
,ApiSupport
,SolrInfoBean
,NestedRequestHandler
,SolrMetricProducer
,SolrRequestHandler
,PermissionNameProvider
public class CoreAdminHandler extends RequestHandlerBase implements PermissionNameProvider
- Since:
- solr 1.3
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
CoreAdminHandler.Invocable
used by the INVOKE action of core admin handler-
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 static String
COMPLETED
protected CoreContainer
coreContainer
static String
FAILED
protected static int
MAX_TRACKED_REQUESTS
protected ExecutorService
parallelExecutor
static com.google.common.collect.ImmutableMap<String,String>
paramToProp
protected Map<String,Map<String,org.apache.solr.handler.admin.CoreAdminHandler.TaskObject>>
requestStatusMap
static String
RESPONSE
static String
RESPONSE_MESSAGE
static String
RESPONSE_STATUS
static String
RUNNING
-
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 CoreAdminHandler()
CoreAdminHandler(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 static Map<String,String>
buildCoreParams(SolrParams params)
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)
protected void
handleCustomAction(SolrQueryRequest req, SolrQueryResponse rsp)
Handle Custom Action.void
handleRequestBody(SolrQueryRequest req, SolrQueryResponse rsp)
void
init(NamedList args)
Initializes theSolrRequestHandler
by creating threeSolrParams
named.void
initializeMetrics(SolrMetricsContext parentContext, String scope)
Initialize metrics specific to this producer.protected static String
normalizePath(String path)
static ModifiableSolrParams
params(String... params)
Boolean
registerV2()
Whether this request handler must be made available at the /v2/ pathvoid
shutdown()
Method to ensure shutting down of the ThreadPool Executor.-
Methods inherited from class org.apache.solr.handler.RequestHandlerBase
getInitArgs, getMetricNames, getName, getPluginInfo, getRequestHandler, getSolrMetricsContext, getSolrParamsFromNamedList, getSubHandler, handleRequest, 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
-
requestStatusMap
protected final Map<String,Map<String,org.apache.solr.handler.admin.CoreAdminHandler.TaskObject>> requestStatusMap
-
parallelExecutor
protected ExecutorService parallelExecutor
-
MAX_TRACKED_REQUESTS
protected static int MAX_TRACKED_REQUESTS
-
RUNNING
public static String RUNNING
-
COMPLETED
public static String COMPLETED
-
FAILED
public static String FAILED
-
RESPONSE
public static String RESPONSE
-
RESPONSE_STATUS
public static String RESPONSE_STATUS
-
RESPONSE_MESSAGE
public static String RESPONSE_MESSAGE
-
-
Constructor Detail
-
CoreAdminHandler
public CoreAdminHandler()
-
CoreAdminHandler
public CoreAdminHandler(CoreContainer coreContainer)
Overloaded ctor to inject CoreContainer into the handler.- Parameters:
coreContainer
- Core Container of the solr webapp installed.
-
-
Method Detail
-
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).
-
initializeMetrics
public void initializeMetrics(SolrMetricsContext parentContext, String scope)
Description copied from interface:SolrMetricProducer
Initialize metrics specific to this producer.- Specified by:
initializeMetrics
in interfaceSolrMetricProducer
- Overrides:
initializeMetrics
in classRequestHandlerBase
- Parameters:
parentContext
- parent metrics context. If this component has the same life-cycle as the parent it can simply use the parent context, otherwise it should obtain a child context usingSolrMetricsContext.getChildContext(Object)
passingthis
as the child.scope
- component scope
-
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
-
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
-
handleRequestBody
public void handleRequestBody(SolrQueryRequest req, SolrQueryResponse rsp) throws Exception
- Specified by:
handleRequestBody
in classRequestHandlerBase
- Throws:
Exception
-
handleCustomAction
protected void handleCustomAction(SolrQueryRequest req, SolrQueryResponse rsp)
Handle Custom Action.This method could be overridden by derived classes to handle custom actions.
By default - this method throws a solr exception. Derived classes are free to write their derivation if necessary.
-
buildCoreParams
protected static Map<String,String> buildCoreParams(SolrParams params)
-
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
-
getPermissionName
public PermissionNameProvider.Name getPermissionName(AuthorizationContext ctx)
- Specified by:
getPermissionName
in interfacePermissionNameProvider
-
shutdown
public void shutdown()
Method to ensure shutting down of the ThreadPool Executor.
-
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
-
-