[ 
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.

Reply via email to