Class QueryComponent
- java.lang.Object
-
- org.apache.solr.handler.component.SearchComponent
-
- org.apache.solr.handler.component.QueryComponent
-
- All Implemented Interfaces:
AutoCloseable,SolrInfoBean,SolrMetricProducer,NamedListInitializedPlugin
public class QueryComponent extends SearchComponent
TODO!- Since:
- solr 1.3
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static classQueryComponent.ScoreAndDocFake scorer for a single document-
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_NAMEprotected static EndResultTransformerMAIN_END_RESULT_TRANSFORMERprotected static EndResultTransformerSIMPLE_END_RESULT_TRANSFORMER-
Fields inherited from class org.apache.solr.handler.component.SearchComponent
solrMetricsContext, standard_components
-
-
Constructor Summary
Constructors Constructor Description QueryComponent()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected booleanaddFL(StringBuilder fl, String field, boolean additionalAdded)protected voidcreateDistributedStats(ResponseBuilder rb)protected voidcreateMainQuery(ResponseBuilder rb)protected voidcreateRetrieveDocs(ResponseBuilder rb)intdistributedProcess(ResponseBuilder rb)Process for a distributed search.protected voiddoFieldSortValues(ResponseBuilder rb, SolrIndexSearcher searcher)protected voiddoPrefetch(ResponseBuilder rb)voidfinishStage(ResponseBuilder rb)Called after all responses have been received for this stage.SolrInfoBean.CategorygetCategory()Category of this componentStringgetDescription()Simple one or two line descriptionprotected intgroupedDistributedProcess(ResponseBuilder rb)protected voidgroupedFinishStage(ResponseBuilder rb)protected voidhandleGroupedResponses(ResponseBuilder rb, ShardRequest sreq)protected voidhandleRegularResponses(ResponseBuilder rb, ShardRequest sreq)voidhandleResponses(ResponseBuilder rb, ShardRequest sreq)Called after all responses for a single request were receivedprotected voidmergeIds(ResponseBuilder rb, ShardRequest sreq)protected voidpopulateNextCursorMarkFromMergedShards(ResponseBuilder rb)Inspects the state of theResponseBuilderand populates the nextResponseBuilder.setNextCursorMark(org.apache.solr.search.CursorMark)as appropriate based on the merged sort values from individual shardsvoidprepare(ResponseBuilder rb)Prepare the response.protected voidprepareGrouping(ResponseBuilder rb)voidprocess(ResponseBuilder rb)Actually run the queryprotected intregularDistributedProcess(ResponseBuilder rb)protected voidregularFinishStage(ResponseBuilder rb)protected voidreturnFields(ResponseBuilder rb, ShardRequest sreq)protected org.apache.solr.common.util.NamedList<List<Object>>unmarshalSortValues(SortSpec sortSpec, org.apache.solr.common.util.NamedList<List<Object>> sortFieldValues, IndexSchema schema)protected voidupdateStats(ResponseBuilder rb, ShardRequest sreq)-
Methods inherited from class org.apache.solr.handler.component.SearchComponent
getName, getSolrMetricsContext, initializeMetrics, modifyRequest, 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
-
MAIN_END_RESULT_TRANSFORMER
protected static final EndResultTransformer MAIN_END_RESULT_TRANSFORMER
-
SIMPLE_END_RESULT_TRANSFORMER
protected static final EndResultTransformer SIMPLE_END_RESULT_TRANSFORMER
-
-
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.
-
prepareGrouping
protected void prepareGrouping(ResponseBuilder rb) throws IOException
- Throws:
IOException
-
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.
-
doFieldSortValues
protected void doFieldSortValues(ResponseBuilder rb, SolrIndexSearcher searcher) throws IOException
- Throws:
IOException
-
doPrefetch
protected void doPrefetch(ResponseBuilder rb) throws IOException
- Throws:
IOException
-
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
-
groupedDistributedProcess
protected int groupedDistributedProcess(ResponseBuilder rb)
-
regularDistributedProcess
protected int regularDistributedProcess(ResponseBuilder rb)
-
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
-
handleGroupedResponses
protected void handleGroupedResponses(ResponseBuilder rb, ShardRequest sreq)
-
handleRegularResponses
protected void handleRegularResponses(ResponseBuilder rb, ShardRequest sreq)
-
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
-
groupedFinishStage
protected void groupedFinishStage(ResponseBuilder rb)
-
regularFinishStage
protected void regularFinishStage(ResponseBuilder rb)
-
createDistributedStats
protected void createDistributedStats(ResponseBuilder rb)
-
updateStats
protected void updateStats(ResponseBuilder rb, ShardRequest sreq)
-
createMainQuery
protected void createMainQuery(ResponseBuilder rb)
-
addFL
protected boolean addFL(StringBuilder fl, String field, boolean additionalAdded)
-
mergeIds
protected void mergeIds(ResponseBuilder rb, ShardRequest sreq)
-
populateNextCursorMarkFromMergedShards
protected void populateNextCursorMarkFromMergedShards(ResponseBuilder rb)
Inspects the state of theResponseBuilderand populates the nextResponseBuilder.setNextCursorMark(org.apache.solr.search.CursorMark)as appropriate based on the merged sort values from individual shards- Parameters:
rb- AResponseBuilderthat already contains mergedShardDocsinresultIds, may or may not be part of a Cursor based request (method will NOOP if not needed)
-
unmarshalSortValues
protected org.apache.solr.common.util.NamedList<List<Object>> unmarshalSortValues(SortSpec sortSpec, org.apache.solr.common.util.NamedList<List<Object>> sortFieldValues, IndexSchema schema)
-
createRetrieveDocs
protected void createRetrieveDocs(ResponseBuilder rb)
-
returnFields
protected void returnFields(ResponseBuilder rb, ShardRequest sreq)
-
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
-
-