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 String
COMPONENT_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 ofStatsValues
using the appropriate response key, builds up the necessary "stats" data structure for including in the response -- including the esoteric "stats_fields" wrapper.int
distributedProcess(ResponseBuilder rb)
Process for a distributed search.void
finishStage(ResponseBuilder rb)
Called after all responses have been received for this stage.String
getDescription()
Simple one or two line descriptionvoid
handleResponses(ResponseBuilder rb, ShardRequest sreq)
Called after all responses for a single request were receivedvoid
modifyRequest(ResponseBuilder rb, SearchComponent who, ShardRequest sreq)
Called after another component adds a requestvoid
prepare(ResponseBuilder rb)
Prepare the response.void
process(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:SearchComponent
Prepare 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:
prepare
in 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:SearchComponent
Process the request for this component- Specified by:
process
in 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:SearchComponent
Process for a distributed search.- Overrides:
distributedProcess
in classSearchComponent
- Returns:
- the next stage for this component
- Throws:
IOException
-
modifyRequest
public void modifyRequest(ResponseBuilder rb, SearchComponent who, ShardRequest sreq)
Description copied from class:SearchComponent
Called after another component adds a request- Overrides:
modifyRequest
in classSearchComponent
-
handleResponses
public void handleResponses(ResponseBuilder rb, ShardRequest sreq)
Description copied from class:SearchComponent
Called after all responses for a single request were received- Overrides:
handleResponses
in classSearchComponent
-
finishStage
public void finishStage(ResponseBuilder rb)
Description copied from class:SearchComponent
Called after all responses have been received for this stage. Useful when different requests are sent to each shard.- Overrides:
finishStage
in 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 ofStatsValues
using 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:SolrInfoBean
Simple one or two line description- Specified by:
getDescription
in interfaceSolrInfoBean
- Specified by:
getDescription
in classSearchComponent
-
-