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 class
QueryComponent.ScoreAndDoc
Fake 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 String
COMPONENT_NAME
protected static EndResultTransformer
MAIN_END_RESULT_TRANSFORMER
protected static EndResultTransformer
SIMPLE_END_RESULT_TRANSFORMER
-
Fields inherited from class org.apache.solr.handler.component.SearchComponent
solrMetricsContext, standard_components
-
-
Constructor Summary
Constructors Constructor Description QueryComponent()
-
Method Summary
-
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: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.
-
prepareGrouping
protected void prepareGrouping(ResponseBuilder rb) throws IOException
- Throws:
IOException
-
process
public void process(ResponseBuilder rb) throws IOException
Actually run the query- Specified by:
process
in 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:SearchComponent
Process for a distributed search.- Overrides:
distributedProcess
in 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:SearchComponent
Called after all responses for a single request were received- Overrides:
handleResponses
in 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:SearchComponent
Called after all responses have been received for this stage. Useful when different requests are sent to each shard.- Overrides:
finishStage
in 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 theResponseBuilder
and populates the nextResponseBuilder.setNextCursorMark(org.apache.solr.search.CursorMark)
as appropriate based on the merged sort values from individual shards- Parameters:
rb
- AResponseBuilder
that already contains mergedShardDocs
inresultIds
, may or may not be part of a Cursor based request (method will NOOP if not needed)
-
unmarshalSortValues
protected NamedList<List<Object>> unmarshalSortValues(SortSpec sortSpec, 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: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
-
-