org.apache.solr.handler.component

## Class QueryComponent

- java.lang.Object
- - org.apache.solr.handler.component.SearchComponent
  - - org.apache.solr.handler.component.QueryComponent

- All Implemented Interfaces:
    SolrInfoMBean, NamedListInitializedPlugin

      public class QueryComponent
      extends SearchComponent

  TODO!
  Since:
    solr 1.3

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `protected static class` | `QueryComponent.FakeScorer` Fake scorer for a single document TODO: when SOLR-5595 is fixed, this wont be needed, as we dont need to recompute sort values here from the comparator

    - ### Nested classes/interfaces inherited from interface org.apache.solr.core.SolrInfoMBean

      `SolrInfoMBean.Category`

  - ### Field Summary

    Fields
    Modifier and Type | Field and 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

      `standard_components`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `QueryComponent()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected boolean` | `addFL(StringBuilder fl, String field, boolean additionalAdded)`
    `protected void` | `createDistributedStats(ResponseBuilder rb)`
    `protected void` | `createMainQuery(ResponseBuilder rb)`
    `protected void` | `createRetrieveDocs(ResponseBuilder rb)`
    `int` | `distributedProcess(ResponseBuilder rb)` Process for a distributed search.
    `protected void` | `doFieldSortValues(ResponseBuilder rb, SolrIndexSearcher searcher)`
    `protected void` | `doPrefetch(ResponseBuilder rb)`
    `void` | `finishStage(ResponseBuilder rb)` Called after all responses have been received for this stage.
    `String` | `getDescription()` Simple one or two line description
    `URL[]` | `getDocs()` Documentation URL list.
    `protected int` | `groupedDistributedProcess(ResponseBuilder rb)`
    `protected void` | `groupedFinishStage(ResponseBuilder rb)`
    `protected void` | `handleGroupedResponses(ResponseBuilder rb, ShardRequest sreq)`
    `protected void` | `handleRegularResponses(ResponseBuilder rb, ShardRequest sreq)`
    `void` | `handleResponses(ResponseBuilder rb, ShardRequest sreq)` Called after all responses for a single request were received
    `protected void` | `mergeIds(ResponseBuilder rb, ShardRequest sreq)`
    `protected void` | `populateNextCursorMarkFromMergedShards(ResponseBuilder rb)` Inspects the state of the `ResponseBuilder` and populates the next `ResponseBuilder.setNextCursorMark(org.apache.solr.search.CursorMark)` as appropriate based on the merged sort values from individual shards
    `void` | `prepare(ResponseBuilder rb)` Prepare the response.
    `protected void` | `prepareGrouping(ResponseBuilder rb)`
    `void` | `process(ResponseBuilder rb)` Actually run the query
    `protected int` | `regularDistributedProcess(ResponseBuilder rb)`
    `protected void` | `regularFinishStage(ResponseBuilder rb)`
    `protected void` | `returnFields(ResponseBuilder rb, ShardRequest sreq)`
    `protected NamedList` | `unmarshalSortValues(SortSpec sortSpec, NamedList sortFieldValues, IndexSchema schema)`
    `protected void` | `updateStats(ResponseBuilder rb, ShardRequest sreq)`

    - ### Methods inherited from class org.apache.solr.handler.component.SearchComponent

      `getCategory, getName, getSource, getStatistics, getVersion, init, modifyRequest, setName`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### 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

  - ### Constructor Detail

    - #### QueryComponent

          public QueryComponent()

  - ### Method Detail

    - #### prepare

          public void prepare(ResponseBuilder rb)
                       throws IOException

      Description copied from class: `SearchComponent`
      Prepare the response. Guaranteed to be called before any SearchComponent `SearchComponent.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 class `SearchComponent`
      Parameters:
        `rb` - The `ResponseBuilder`
      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 class `SearchComponent`
      Parameters:
        `rb` - The `ResponseBuilder`
      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 class `SearchComponent`
      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 class `SearchComponent`

    - #### 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 class `SearchComponent`

    - #### 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 the `ResponseBuilder` and populates the next `ResponseBuilder.setNextCursorMark(org.apache.solr.search.CursorMark)` as appropriate based on the merged sort values from individual shards
      Parameters:
        `rb` - A `ResponseBuilder` that already contains merged `ShardDocs` in `resultIds`, may or may not be part of a Cursor based request (method will NOOP if not needed)

    - #### unmarshalSortValues

          protected NamedList unmarshalSortValues(SortSpec sortSpec,
                                                  NamedList 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: `SolrInfoMBean`
      Simple one or two line description
      Specified by:
        `getDescription` in interface `SolrInfoMBean`
      Specified by:
        `getDescription` in class `SearchComponent`

    - #### getDocs

          public URL[] getDocs()

      Description copied from interface: `SolrInfoMBean`
      Documentation URL list.

      Suggested documentation URLs: Homepage for sponsoring project, FAQ on class usage, Design doc for class, Wiki, bug reporting URL, etc...

      Specified by:
        `getDocs` in interface `SolrInfoMBean`
      Overrides:
        `getDocs` in class `SearchComponent`

Copyright © 2000-2016 Apache Software Foundation. All Rights Reserved.