Class FacetComponent
- java.lang.Object
-
- org.apache.solr.handler.component.SearchComponent
-
- org.apache.solr.handler.component.FacetComponent
-
- All Implemented Interfaces:
AutoCloseable,SolrInfoBean,SolrMetricProducer,NamedListInitializedPlugin
public class FacetComponent extends SearchComponent
Computes facets -- aggregations with counts of terms or ranges over the whole search results.- Since:
- solr 1.3
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classFacetComponent.DistribFieldFacetThis API is experimental and subject to changestatic classFacetComponent.FacetBaseThis API is experimental and subject to changestatic classFacetComponent.FacetContextEncapsulates facet ranges and facet queries such that their parameters are parsed and cached for efficient re-use.static classFacetComponent.FacetInfoThis class is used exclusively for merging results from each shard in a distributed facet request.static classFacetComponent.FieldFacetThis API is experimental and subject to changestatic classFacetComponent.QueryFacetThis API is experimental and subject to changestatic classFacetComponent.ShardFacetCountThis API is experimental and subject to change-
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_NAMEstatic StringFACET_COUNTS_KEYstatic StringFACET_FIELD_KEYstatic StringFACET_INTERVALS_KEYstatic StringFACET_QUERY_KEYstatic StringFACET_RANGES_KEYstatic String[]FACET_TYPE_PARAMS-
Fields inherited from class org.apache.solr.handler.component.SearchComponent
solrMetricsContext, standard_components
-
-
Constructor Summary
Constructors Constructor Description FacetComponent()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description intdistributedProcess(ResponseBuilder rb)Process for a distributed search.voidfinishStage(ResponseBuilder rb)Called after all responses have been received for this stage.SolrInfoBean.CategorygetCategory()Category of this componentStringgetDescription()Simple one or two line descriptionstatic org.apache.solr.common.util.NamedList<Object>getFacetCounts(SimpleFacets simpleFacets)static org.apache.solr.common.util.NamedList<Object>getFacetCounts(SimpleFacets simpleFacets, FacetDebugInfo fdebug)Looks at various Params to determining if any simple Facet Constraint count computations are desired.voidhandleResponses(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 requestprotected SimpleFacetsnewSimpleFacets(SolrQueryRequest req, DocSet docSet, org.apache.solr.common.params.SolrParams params, ResponseBuilder rb)voidprepare(ResponseBuilder rb)Prepare the response.voidprocess(ResponseBuilder rb)Actually run the query-
Methods inherited from class org.apache.solr.handler.component.SearchComponent
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
-
FACET_COUNTS_KEY
public static final String FACET_COUNTS_KEY
- See Also:
- Constant Field Values
-
FACET_QUERY_KEY
public static final String FACET_QUERY_KEY
- See Also:
- Constant Field Values
-
FACET_FIELD_KEY
public static final String FACET_FIELD_KEY
- See Also:
- Constant Field Values
-
FACET_RANGES_KEY
public static final String FACET_RANGES_KEY
- See Also:
- Constant Field Values
-
FACET_INTERVALS_KEY
public static final String FACET_INTERVALS_KEY
- See Also:
- Constant Field Values
-
FACET_TYPE_PARAMS
public static String[] FACET_TYPE_PARAMS
-
-
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.
-
newSimpleFacets
protected SimpleFacets newSimpleFacets(SolrQueryRequest req, DocSet docSet, org.apache.solr.common.params.SolrParams params, ResponseBuilder rb)
-
process
public void process(ResponseBuilder rb) throws IOException
Actually run the query- Specified by:
processin classSearchComponent- Parameters:
rb- TheResponseBuilder- Throws:
IOException- If there is a low-level I/O error.
-
getFacetCounts
public static org.apache.solr.common.util.NamedList<Object> getFacetCounts(SimpleFacets simpleFacets)
-
getFacetCounts
public static org.apache.solr.common.util.NamedList<Object> getFacetCounts(SimpleFacets simpleFacets, FacetDebugInfo fdebug)
Looks at various Params to determining if any simple Facet Constraint count computations are desired.- Returns:
- a NamedList of Facet Count info or null
- See Also:
SimpleFacets.getFacetQueryCounts(),SimpleFacets.getFacetFieldCounts(),RangeFacetProcessor.getFacetRangeCounts(),SimpleFacets.getFacetIntervalCounts(),FacetParams.FACET
-
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
-
getDescription
public String getDescription()
Description copied from interface:SolrInfoBeanSimple one or two line description- Specified by:
getDescriptionin interfaceSolrInfoBean- Specified by:
getDescriptionin classSearchComponent
-
getCategory
public SolrInfoBean.Category getCategory()
Description copied from interface:SolrInfoBeanCategory of this component- Specified by:
getCategoryin interfaceSolrInfoBean- Overrides:
getCategoryin classSearchComponent
-
-