[ https://issues.apache.org/jira/browse/SOLR-303?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12548032 ]
Yonik Seeley commented on SOLR-303: ----------------------------------- I've been prototyping distributed search in python... The current methods I have for a component are something like {code} // returns the current stage this component is at... stage starts at -1 and the next stage is the minimum returned // by all components on the previous calls to process() int process(RequestBuilder rb, int stage); // callback for a single response received (optional... this could be left out) // all components have this called, regardless of who queued the request void singleResponse(ResponseBuilder rb, int stage, Request req, Response rsp); // callback when all responses (from all shards) to a request have been received void allResponses(ResponseBuilder rb, int stage, Request req); {code} Any of these methods can add another request to the outgoing queue. The current stage is only over after all requests have been sent, responses received, and the outgoing queue is empty. When all components return maxint from process(), we are done. > Distributed Search over HTTP > ---------------------------- > > Key: SOLR-303 > URL: https://issues.apache.org/jira/browse/SOLR-303 > Project: Solr > Issue Type: New Feature > Components: search > Reporter: Sharad Agarwal > Attachments: fedsearch.patch, fedsearch.patch, fedsearch.patch, > fedsearch.patch, fedsearch.patch, fedsearch.stu.patch, fedsearch.stu.patch > > > Searching over multiple shards and aggregating results. > Motivated by http://wiki.apache.org/solr/DistributedSearch -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.