Class StatsComponent
- java.lang.Object
-
- org.apache.solr.handler.component.SearchComponent
-
- org.apache.solr.handler.component.StatsComponent
-
- All Implemented Interfaces:
AutoCloseable,SolrInfoBean,SolrMetricProducer,NamedListInitializedPlugin
public class StatsComponent extends SearchComponent
Stats component calculates simple statistics on numeric field values- Since:
- solr 1.4
-
-
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 static StringCOMPONENT_NAME-
Fields inherited from class org.apache.solr.handler.component.SearchComponent
solrMetricsContext, standard_components
-
-
Constructor Summary
Constructors Constructor Description StatsComponent()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static org.apache.solr.common.util.NamedList<org.apache.solr.common.util.NamedList<org.apache.solr.common.util.NamedList<?>>>convertToResponse(Map<String,StatsValues> statsValues)Given a map ofStatsValuesusing the appropriate response key, builds up the necessary "stats" data structure for including in the response -- including the esoteric "stats_fields" wrapper.intdistributedProcess(ResponseBuilder rb)Process for a distributed search.voidfinishStage(ResponseBuilder rb)Called after all responses have been received for this stage.StringgetDescription()Simple one or two line descriptionvoidhandleResponses(ResponseBuilder rb, ShardRequest sreq)Called after all responses for a single request were receivedvoidmodifyRequest(ResponseBuilder rb, SearchComponent who, ShardRequest sreq)Called after another component adds a requestvoidprepare(ResponseBuilder rb)Prepare the response.voidprocess(ResponseBuilder rb)Process the request for this componentstatic org.apache.solr.common.util.NamedList<org.apache.solr.common.util.NamedList<?>>unwrapStats(org.apache.solr.common.util.NamedList<org.apache.solr.common.util.NamedList<org.apache.solr.common.util.NamedList<?>>> stats)Helper to pull the "stats_fields" out of the extra "stats" wrapper-
Methods inherited from class org.apache.solr.handler.component.SearchComponent
getCategory, getName, getSolrMetricsContext, initializeMetrics, setName
-
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.util.plugin.NamedListInitializedPlugin
init
-
Methods inherited from interface org.apache.solr.metrics.SolrMetricProducer
close
-
-
-
-
Field Detail
-
COMPONENT_NAME
public static final String COMPONENT_NAME
- See Also:
- Constant Field Values
-
-
Method Detail
-
prepare
public void prepare(ResponseBuilder rb) throws IOException
Description copied from class:SearchComponentPrepare the response. Guaranteed to be called before any SearchComponentSearchComponent.process(org.apache.solr.handler.component.ResponseBuilder)method. Called for every incoming request.The place to do initialization that is request dependent.
- Specified by:
preparein classSearchComponent- Parameters:
rb- TheResponseBuilder- Throws:
IOException- If there is a low-level I/O error.
-
process
public void process(ResponseBuilder rb) throws IOException
Description copied from class:SearchComponentProcess the request for this component- Specified by:
processin classSearchComponent- Parameters:
rb- TheResponseBuilder- Throws:
IOException- If there is a low-level I/O error.
-
distributedProcess
public int distributedProcess(ResponseBuilder rb) throws IOException
Description copied from class:SearchComponentProcess for a distributed search.- Overrides:
distributedProcessin classSearchComponent- Returns:
- the next stage for this component
- Throws:
IOException
-
modifyRequest
public void modifyRequest(ResponseBuilder rb, SearchComponent who, ShardRequest sreq)
Description copied from class:SearchComponentCalled after another component adds a request- Overrides:
modifyRequestin classSearchComponent
-
handleResponses
public void handleResponses(ResponseBuilder rb, ShardRequest sreq)
Description copied from class:SearchComponentCalled after all responses for a single request were received- Overrides:
handleResponsesin classSearchComponent
-
finishStage
public void finishStage(ResponseBuilder rb)
Description copied from class:SearchComponentCalled after all responses have been received for this stage. Useful when different requests are sent to each shard.- Overrides:
finishStagein classSearchComponent
-
unwrapStats
public static org.apache.solr.common.util.NamedList<org.apache.solr.common.util.NamedList<?>> unwrapStats(org.apache.solr.common.util.NamedList<org.apache.solr.common.util.NamedList<org.apache.solr.common.util.NamedList<?>>> stats)
Helper to pull the "stats_fields" out of the extra "stats" wrapper
-
convertToResponse
public static org.apache.solr.common.util.NamedList<org.apache.solr.common.util.NamedList<org.apache.solr.common.util.NamedList<?>>> convertToResponse(Map<String,StatsValues> statsValues)
Given a map ofStatsValuesusing the appropriate response key, builds up the necessary "stats" data structure for including in the response -- including the esoteric "stats_fields" wrapper.
-
getDescription
public String getDescription()
Description copied from interface:SolrInfoBeanSimple one or two line description- Specified by:
getDescriptionin interfaceSolrInfoBean- Specified by:
getDescriptionin classSearchComponent
-
-