Package org.apache.solr.handler
Class RequestHandlerBase
- java.lang.Object
-
- org.apache.solr.handler.RequestHandlerBase
-
- All Implemented Interfaces:
ApiSupport,SolrInfoBean,NestedRequestHandler,SolrMetricProducer,SolrRequestHandler
- Direct Known Subclasses:
AnalysisRequestHandlerBase,AutoScalingHandler,AutoscalingHistoryHandler,BlobHandler,CdcrRequestHandler,CollectionsHandler,ConfigSetsHandler,ContentStreamHandlerBase,CoreAdminHandler,DumpRequestHandler,FileFloatSource.ReloadCacheRequestHandler,GraphHandler,InfoHandler,LoggingHandler,LukeRequestHandler,MetricsCollectorHandler,MetricsHandler,MetricsHistoryHandler,MoreLikeThisHandler,NotFoundRequestHandler,PingRequestHandler,PluginInfoHandler,PropertiesRequestHandler,PublicKeyHandler,ReplicationHandler,SchemaHandler,SearchHandler,SecurityConfHandler,SegmentsInfoRequestHandler,ShowFileRequestHandler,SolrConfigHandler,SolrInfoMBeanHandler,SQLHandler,StreamHandler,SystemInfoHandler,TaggerRequestHandler,ThreadDumpHandler,ZookeeperInfoHandler,ZookeeperStatusHandler
public abstract class RequestHandlerBase extends Object implements SolrRequestHandler, SolrInfoBean, SolrMetricProducer, NestedRequestHandler, ApiSupport
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.apache.solr.core.SolrInfoBean
SolrInfoBean.Category, SolrInfoBean.Group
-
-
Field Summary
Fields Modifier and Type Field Description protected SolrParamsappendsprotected SolrParamsdefaultsprotected booleanhttpCachingprotected NamedListinitArgsprotected SolrParamsinvariantsprotected SolrMetricManagermetricManagerprotected StringregistryName-
Fields inherited from interface org.apache.solr.request.SolrRequestHandler
TYPE
-
-
Constructor Summary
Constructors Constructor Description RequestHandlerBase()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description Collection<Api>getApis()It is possible to support multiple v2 apis by a single requesthandlerSolrInfoBean.CategorygetCategory()Category of this componentabstract StringgetDescription()Simple one or two line descriptionNamedListgetInitArgs()Set<String>getMetricNames()Modifiable set of metric names that this component reports (default is null, which means none).com.codahale.metrics.MetricRegistrygetMetricRegistry()An instance ofMetricRegistrythat this component uses for metrics reporting (default is null, which means no registry).StringgetName()Simple common usage name, e.g.PluginInfogetPluginInfo()static SolrRequestHandlergetRequestHandler(String handlerName, PluginBag<SolrRequestHandler> reqHandlers)Get the request handler registered to a given name.static SolrParamsgetSolrParamsFromNamedList(NamedList args, String key)SolrRequestHandlergetSubHandler(String subPath)Return a RequestHandler to handle a subpath from the path this handler is registered.voidhandleRequest(SolrQueryRequest req, SolrQueryResponse rsp)Handles a query request, this method must be thread safe.abstract voidhandleRequestBody(SolrQueryRequest req, SolrQueryResponse rsp)voidinit(NamedList args)Initializes theSolrRequestHandlerby creating threeSolrParamsnamed.voidinitializeMetrics(SolrMetricManager manager, String registryName, String tag, String scope)Initializes metrics specific to this producer.voidsetPluginInfo(PluginInfo pluginInfo)-
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, registerV2
-
Methods inherited from interface org.apache.solr.core.SolrInfoBean
getMetricsSnapshot, registerMetricName
-
Methods inherited from interface org.apache.solr.metrics.SolrMetricProducer
initializeMetrics
-
-
-
-
Field Detail
-
initArgs
protected NamedList initArgs
-
defaults
protected SolrParams defaults
-
appends
protected SolrParams appends
-
invariants
protected SolrParams invariants
-
httpCaching
protected boolean httpCaching
-
registryName
protected String registryName
-
metricManager
protected SolrMetricManager metricManager
-
-
Method Detail
-
init
public void init(NamedList args)
Initializes theSolrRequestHandlerby creating threeSolrParamsnamed.
Example: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". <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:
initin interfaceSolrRequestHandler- Parameters:
args- TheNamedListto initialize from- See Also:
handleRequest(org.apache.solr.request.SolrQueryRequest, org.apache.solr.response.SolrQueryResponse),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(SolrMetricManager manager, String registryName, String tag, String scope)
Description copied from interface:SolrMetricProducerInitializes metrics specific to this producer.Note: for back-compatibility this method by default calls
SolrMetricProducer.initializeMetrics(SolrMetricManager, String, String).- Specified by:
initializeMetricsin interfaceSolrMetricProducer- Parameters:
manager- an instance ofSolrMetricManagerregistryName- registry name where metrics are registeredtag- symbolic tag that represents a group of related instances that have the same life-cycle. Parent component can use thetagwhen callingSolrMetricManager.unregisterGauges(String, String)to unregister metrics created by this instance of the producer.scope- scope of the metrics (eg. handler name) to separate metrics of instances of the same component executing in different contexts
-
getSolrParamsFromNamedList
public static SolrParams getSolrParamsFromNamedList(NamedList args, String key)
-
getInitArgs
public NamedList getInitArgs()
-
handleRequestBody
public abstract void handleRequestBody(SolrQueryRequest req, SolrQueryResponse rsp) throws Exception
- Throws:
Exception
-
handleRequest
public void handleRequest(SolrQueryRequest req, SolrQueryResponse rsp)
Description copied from interface:SolrRequestHandlerHandles a query request, this method must be thread safe.Information about the request may be obtained from
reqand response information may be set usingrsp.There are no mandatory actions that handleRequest must perform. An empty handleRequest implementation would fulfill all interface obligations.
- Specified by:
handleRequestin interfaceSolrRequestHandler
-
getName
public String getName()
Description copied from interface:SolrInfoBeanSimple common usage name, e.g. BasicQueryHandler, or fully qualified class name.- Specified by:
getNamein interfaceSolrInfoBean
-
getDescription
public abstract String getDescription()
Description copied from interface:SolrInfoBeanSimple one or two line description- Specified by:
getDescriptionin interfaceSolrInfoBean
-
getCategory
public SolrInfoBean.Category getCategory()
Description copied from interface:SolrInfoBeanCategory of this component- Specified by:
getCategoryin interfaceSolrInfoBean
-
getMetricNames
public Set<String> getMetricNames()
Description copied from interface:SolrInfoBeanModifiable set of metric names that this component reports (default is null, which means none). If not null then this set is used bySolrInfoBean.registerMetricName(String)to capture what metrics names are reported from this component.NOTE: this set has to allow iteration under modifications.
- Specified by:
getMetricNamesin interfaceSolrInfoBean
-
getMetricRegistry
public com.codahale.metrics.MetricRegistry getMetricRegistry()
Description copied from interface:SolrInfoBeanAn instance ofMetricRegistrythat this component uses for metrics reporting (default is null, which means no registry).- Specified by:
getMetricRegistryin interfaceSolrInfoBean
-
getSubHandler
public SolrRequestHandler getSubHandler(String subPath)
Description copied from interface:NestedRequestHandlerReturn a RequestHandler to handle a subpath from the path this handler is registered.- Specified by:
getSubHandlerin interfaceNestedRequestHandler
-
getRequestHandler
public static SolrRequestHandler getRequestHandler(String handlerName, PluginBag<SolrRequestHandler> reqHandlers)
Get the request handler registered to a given name. This function is thread safe.
-
setPluginInfo
public void setPluginInfo(PluginInfo pluginInfo)
-
getPluginInfo
public PluginInfo getPluginInfo()
-
getApis
public Collection<Api> getApis()
Description copied from interface:ApiSupportIt is possible to support multiple v2 apis by a single requesthandler- Specified by:
getApisin interfaceApiSupport- Returns:
- the list of v2 api implementations
-
-