Matt,

I applied you patch to the trunk and tossed it in the debugger.  I'm not
sure how your solrconfig.xml looks, but if your using the out of the box
autosuggest shards don't work.

The reason is that the default search handler has the QueryComponent in
it's list and the autosuggest doesn't.

Try stealing these lines from the end QueryComponent.prepare

    // TODO: temporary... this should go in a different component.
    String shards = params.get(ShardParams.SHARDS);
    if (shards != null) {
      List<String> lst = StrUtils.splitSmart(shards, ",", true);
      rb.shards = lst.toArray(new String[lst.size()]);
    }

Matt Woytowitz


-----Original Message-----
From: Matt Weber [mailto:m...@mattweber.org] 
Sent: Wednesday, May 20, 2009 12:07 PM
To: solr-dev@lucene.apache.org
Subject: Re: Help Writing a Distributed Component

Hey Grant,

I have opened a new ticket with the current version of my patch at
https://issues.apache.org/jira/browse/SOLR-1177 
.  What do you mean by configuring my shards?  I implemented the  
distributed methods (prepare, process, modifyRequest, etc) as is done  
in the other distributed components, then I just specify a shards  
parameter in the query.  I looked though the other distributed  
components and did not see them doing any special shard configuration  
other than modifying the query that is sent to the shards.  I must be  
missing something, but I can't seem to figure out due to my lack of  
knowledge on distributed components and the solr codebase in general.   
Thanks for your help!

For my testing, I have 2 instances of Solr running in tomcat called  
solr1 and solr2.  My test query looks like:

http://localhost:8080/solr1/terms?shards=localhost:8080/solr1,localhost:
8080/solr2&terms=true&terms.fl=spell&terms.prefix=f&terms.lower=f

Thanks,

Matt Weber
eSr Technologies
http://www.esr-technologies.com


On May 20, 2009, at 7:24 AM, Grant Ingersoll wrote:

> Matt,
>
> Perhaps you can post your patch even in it's current state on a JIRA  
> issue and then we can work through it?  Also, how are you  
> configuring your shards?
>
> I started that Wiki page as a way to make sure I understood what was  
> going on in distributed.  I'm not 100% sure it is correct, so it  
> would be good if others review/edit as well.
>
> -Grant
>
> On May 20, 2009, at 1:36 AM, Matt Weber wrote:
>
>> Hi all,
>>
>> I am working on a patch to get TermsComponent distributed and have  
>> run into a problem.  I have overridden the prepare, process,  
>> modifyRequest, handleResponses, and finishStage methods as  
>> described at
http://wiki.apache.org/solr/WritingDistributedSearchComponents 
>> .  My problem is that only the prepare and process methods are  
>> called just as if it was non-distributed.  It looks like the shards  
>> parameter is not being honored for this handler.  For some reason  
>> rb.shards is always null.  I looked though all the other  
>> distributed components code (facets, stats, highlighting, etc) and  
>> did not notice them doing anything special that my handler is not.   
>> Is there some setting I need to enable for the shards parameter to  
>> be honored?
>

Reply via email to