public abstract class RequestHandlerBase extends Object implements SolrRequestHandler, SolrInfoBean, SolrMetricProducer, NestedRequestHandler, ApiSupport
SolrInfoBean.Category, SolrInfoBean.Group
Modifier and Type | Field and Description |
---|---|
protected SolrParams |
appends |
protected SolrParams |
defaults |
protected boolean |
httpCaching |
protected NamedList |
initArgs |
protected SolrParams |
invariants |
protected SolrMetricManager |
metricManager |
protected String |
registryName |
TYPE
Constructor and Description |
---|
RequestHandlerBase() |
Modifier and Type | Method and Description |
---|---|
Collection<Api> |
getApis()
It is possible to support multiple v2 apis by a single requesthandler
|
SolrInfoBean.Category |
getCategory()
Category of this component
|
abstract String |
getDescription()
Simple one or two line description
|
NamedList |
getInitArgs() |
Set<String> |
getMetricNames()
Modifiable set of metric names that this component reports (default is null,
which means none).
|
com.codahale.metrics.MetricRegistry |
getMetricRegistry()
An instance of
MetricRegistry that this component uses for metrics reporting
(default is null, which means no registry). |
String |
getName()
Simple common usage name, e.g.
|
PluginInfo |
getPluginInfo() |
static SolrRequestHandler |
getRequestHandler(String handlerName,
PluginBag<SolrRequestHandler> reqHandlers)
Get the request handler registered to a given name.
|
static SolrParams |
getSolrParamsFromNamedList(NamedList args,
String key) |
SolrRequestHandler |
getSubHandler(String subPath)
Return a RequestHandler to handle a subpath from the path this handler is registered.
|
void |
handleRequest(SolrQueryRequest req,
SolrQueryResponse rsp)
Handles a query request, this method must be thread safe.
|
abstract void |
handleRequestBody(SolrQueryRequest req,
SolrQueryResponse rsp) |
void |
init(NamedList args)
Initializes the
SolrRequestHandler by creating three SolrParams named. |
void |
initializeMetrics(SolrMetricManager manager,
String registryName,
String tag,
String scope)
Initializes metrics specific to this producer.
|
void |
setPluginInfo(PluginInfo pluginInfo) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getMetricsSnapshot, registerMetricName
initializeMetrics
registerV1, registerV2
protected NamedList initArgs
protected SolrParams defaults
protected SolrParams appends
protected SolrParams invariants
protected boolean httpCaching
protected String registryName
protected SolrMetricManager metricManager
public void init(NamedList args)
SolrRequestHandler
by creating three SolrParams
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". |
<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>
init
in interface SolrRequestHandler
args
- The NamedList
to initialize fromhandleRequest(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).
public void initializeMetrics(SolrMetricManager manager, String registryName, String tag, String scope)
SolrMetricProducer
Note: for back-compatibility this method by default calls SolrMetricProducer.initializeMetrics(SolrMetricManager, String, String)
.
initializeMetrics
in interface SolrMetricProducer
manager
- an instance of SolrMetricManager
registryName
- 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 the tag
when
calling SolrMetricManager.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 contextspublic static SolrParams getSolrParamsFromNamedList(NamedList args, String key)
public NamedList getInitArgs()
public abstract void handleRequestBody(SolrQueryRequest req, SolrQueryResponse rsp) throws Exception
Exception
public void handleRequest(SolrQueryRequest req, SolrQueryResponse rsp)
SolrRequestHandler
Information about the request may be obtained from req
and
response information may be set using rsp
.
There are no mandatory actions that handleRequest must perform. An empty handleRequest implementation would fulfill all interface obligations.
handleRequest
in interface SolrRequestHandler
public String getName()
SolrInfoBean
getName
in interface SolrInfoBean
public abstract String getDescription()
SolrInfoBean
getDescription
in interface SolrInfoBean
public SolrInfoBean.Category getCategory()
SolrInfoBean
getCategory
in interface SolrInfoBean
public Set<String> getMetricNames()
SolrInfoBean
SolrInfoBean.registerMetricName(String)
to capture what metrics names are reported from this component.
NOTE: this set has to allow iteration under modifications.
getMetricNames
in interface SolrInfoBean
public com.codahale.metrics.MetricRegistry getMetricRegistry()
SolrInfoBean
MetricRegistry
that this component uses for metrics reporting
(default is null, which means no registry).getMetricRegistry
in interface SolrInfoBean
public SolrRequestHandler getSubHandler(String subPath)
NestedRequestHandler
getSubHandler
in interface NestedRequestHandler
public static SolrRequestHandler getRequestHandler(String handlerName, PluginBag<SolrRequestHandler> reqHandlers)
public void setPluginInfo(PluginInfo pluginInfo)
public PluginInfo getPluginInfo()
public Collection<Api> getApis()
ApiSupport
getApis
in interface ApiSupport
Copyright © 2000-2018 Apache Software Foundation. All Rights Reserved.