I'm not totally on top of how distributed components work, but check:
http://wiki.apache.org/solr/WritingDistributedSearchComponents
and:
https://issues.apache.org/jira/browse/SOLR-680
Do you want each of the shards to append values? or just the final
result? If appending the values is not a big resource hog, it may
make sense to only do that in the main "process" block. If that is
the case, I *think* you just implement: process(ResponseBuilder rb)
ryan
On Oct 4, 2008, at 1:06 PM, Brian Whitman wrote:
Sorry for the extended question, but I am having trouble making
SearchComponent that can actually get at the returned response in a
distributed setup.
In my distributedProcess:
public int distributedProcess(ResponseBuilder rb) throws
IOException {
How can I get at the returned results from all shards? I want to get
at
really the rendered response right before it goes back to the client
so I
can add some information based on what came back.
The TermVector example seems to get at rb.resultIds (which is not
public and
I can't use in my plugin) and then sends a request back to the
shards to get
the stored fields (using ShardDoc.id, another field I don't have
access to.)
Instead of doing all of that I'd like to just "peek" into the
response that
is about to be written to the client.
I tried getting at rb.rsp but the data is not filled in during the
last
stage (GET_FIELDS) that distributedProcess gets called for.
On Sat, Oct 4, 2008 at 10:12 AM, Brian Whitman <[EMAIL PROTECTED]>
wrote:
Thanks grant and ryan, so far so good. But I am confused about one
thing -
when I set this up like:
public void process(ResponseBuilder rb) throws IOException {
And put it as the last-component on a distributed search (a
defaults shard
is defined in the solrconfig for the handler), the component never
does its
thing. I looked at the TermVectorComponent implementation and it
instead
defines
public int distributedProcess(ResponseBuilder rb) throws
IOException {
And when I implemented that method it works. Is there a way to
define just
one method that will work with both distributed and normal searches?
On Fri, Oct 3, 2008 at 4:41 PM, Grant Ingersoll
<[EMAIL PROTECTED]>wrote:
No need to even write a new ReqHandler if you're using 1.3:
http://wiki.apache.org/solr/SearchComponent