Class ExpandComponent
- java.lang.Object
-
- org.apache.solr.handler.component.SearchComponent
-
- org.apache.solr.handler.component.ExpandComponent
-
- All Implemented Interfaces:
AutoCloseable
,SolrInfoBean
,SolrMetricProducer
,NamedListInitializedPlugin
,PluginInfoInitialized
public class ExpandComponent extends SearchComponent implements PluginInfoInitialized
The ExpandComponent is designed to work with the CollapsingPostFilter. The CollapsingPostFilter collapses a result set on a field.The ExpandComponent expands the collapsed groups for a single page. When multiple collapse groups are specified then, the field is chosen from collapse group with min cost. If the cost are equal then, the field is chosen from first collapse group.
http parameters:
expand=true
expand.rows=5
expand.sort=field asc|desc
expand.q=*:* (optional, overrides the main query)
expand.fq=type:child (optional, overrides the main filter queries)
expand.field=field (mandatory, if the not used with the CollapsingQParserPlugin. This is given higher priority when both are present)
-
-
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 ExpandComponent()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
distributedProcess(ResponseBuilder rb)
Process for a distributed search.void
finishStage(ResponseBuilder rb)
Called after all responses have been received for this stage.SolrInfoBean.Category
getCategory()
Category of this componentString
getDescription()
Simple one or two line descriptionvoid
handleResponses(ResponseBuilder rb, ShardRequest sreq)
Called after all responses for a single request were receivedvoid
init(PluginInfo info)
void
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 component-
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
-
-
Method Detail
-
init
public void init(PluginInfo info)
- Specified by:
init
in interfacePluginInfoInitialized
-
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
-
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
-
getCategory
public SolrInfoBean.Category getCategory()
Description copied from interface:SolrInfoBean
Category of this component- Specified by:
getCategory
in interfaceSolrInfoBean
- Overrides:
getCategory
in classSearchComponent
-
-