package lux.solr; import org.apache.solr.common.params.SolrParams; import org.apache.solr.core.SolrCore; import org.apache.solr.handler.component.ResponseBuilder; import org.apache.solr.request.SolrQueryRequestBase; import org.apache.solr.search.SortSpec; /** * exposes the processing stage so it can be manipulated by SolrURIResolver and CloudSearchIterator * */ public class CloudQueryRequest extends SolrQueryRequestBase { private int nextStage; private final SortSpec sortSpec; public CloudQueryRequest(SolrCore core, SolrParams params, SortSpec sortSpec) { super(core, params); this.sortSpec = sortSpec; this.nextStage = ResponseBuilder.STAGE_EXECUTE_QUERY; } public SortSpec getSortSpec() { return sortSpec; } /** * @return the next stage in the sharded request processing. This is settable so we can control * the stage from within SolrURIResolver (which only retrieves fields) and CloudSearchIterator (which * uses the 2-pass query/retrieval mechanism). */ public int getNextStage() { return nextStage; } public void setNextStage (int nextStage) { this.nextStage = nextStage; } }