Re: SpellCheck (AutoComplete) Not Working In Distributed Environment

2015-01-13 Thread Charles Sanders
Still not able to get my autoComplete component to work in a distributed 
environment. Works fine on a non-distributed system. Also, on the distributed 
system, if I include distrib=false, it works. 

I have tried shards.qt and shards parameters, but they make no difference. I 
should add, I am running SolrCloud and ZooKeeper, if that makes any difference. 
I have played around with this quite a bit, but nothing seems to work. 

When I add shards.qt=/ac {the name of the request handler}, I get an error in 
the solr logs. It simply states: java.lang.NullPointerException. That's it 
nothing more. This is listed as "logger" SolrCore and SolrDispatchFilter. 

Any ideas, suggestions on how I can troubleshoot and find the problem? Is there 
something specific I should look for? 

Please find attached text file with relevant information from schema.xml and 
sorlconfig.xml. 

Any help greatly appreciated! Thanks, 
-Charles 



- Original Message -

From: "Erick Erickson"  
To: solr-user@lucene.apache.org 
Sent: Tuesday, December 30, 2014 6:07:13 PM 
Subject: Re: SpellCheck (AutoComplete) Not Working In Distributed Environment 

Did you try the shards parameter? See: 
https://cwiki.apache.org/confluence/display/solr/Spell+Checking#SpellChecking-DistributedSpellCheck
 

On Tue, Dec 30, 2014 at 2:20 PM, Charles Sanders  wrote: 
> I'm running Solr 4.8 in a distributed environment (2 shards). I have added 
> the spellcheck component to my request handler. In my test system, which is 
> not distributed, it works. But when I move it to the Dev box, which is 
> distributed, 2 shards, it is not working. Is there something additional I 
> must do to get this to work in a distributed environment? 
> 
>  
>  
>  
> explicit 
> 10 
> allText 
>  
> true 
> andreasAutoComplete 
> true 
> 5 
> true 
> 5 
>  
>  
> autoComplete 
>  
>  
> 
>  
>  
> andreasAutoComplete 
> org.apache.solr.spelling.suggest.Suggester 
>  name="lookupImpl">org.apache.solr.spelling.suggest.tst.TSTLookupFactory 
> sugg_allText 
> true 
> .005 
> text_suggest 
>  
>  
> 
> 
> Any help greatly appreciated! Thanks, 
> -Charles 
> 
> 
> 

* Schema.xml ***




  


  
  


  



 Solrconfig.xml ***




andreasAutoComplete
org.apache.solr.spelling.suggest.Suggester
org.apache.solr.spelling.suggest.tst.TSTLookupFactory   
   
sugg_allText
true
.005
text_suggest


recommendationsAutoComplete
org.apache.solr.spelling.suggest.Suggester
org.apache.solr.spelling.suggest.tst.TSTLookupFactory   
   
issue_suggest
true
.005
text_suggest





true
andreasAutoComplete
true
5
true
5


autoComplete





true
recommendationsAutoComplete
true
5
true
5


autoComplete




Re: SpellCheck (AutoComplete) Not Working In Distributed Environment

2015-01-02 Thread Shawn Heisey
On 1/1/2015 1:09 PM, Meraj A. Khan wrote:
> When running SolrCloud do you even have to include the shards parameter
> ,shouldnt only shards.qt parameter suffice?

If you are using SolrCloud, no shards parameter is required ... all
queries sent to either the collection or any shard replica will
automatically use all shards.  You *can* use the shards parameter if you
only want to query a subset of your shards, or distrib=false if you want
to only query the specific shard replica where you sent the request.

If it's not SolrCloud, there is no distributed search without the shards
parameter.

If you're using the /select handler, then shards.qt is not necessary at
all.  I do not know what SolrCloud does with handlers on distributed
requests, whether it uses the same handler name for those requests, or
uses /select by default like non-cloud does.

Thanks,
Shawn



Re: SpellCheck (AutoComplete) Not Working In Distributed Environment

2015-01-01 Thread Meraj A. Khan
Shawn,

When running SolrCloud do you even have to include the shards parameter
,shouldnt only shards.qt parameter suffice?
On Dec 30, 2014 7:17 PM, "Shawn Heisey"  wrote:

> On 12/30/2014 5:03 PM, Charles Sanders wrote:
> > Thanks for the suggestion.
> >
> > I did not do that originally because the documentation states:
> > This parameter is not required for the /select request handler.
> >
> > Which is what I am using. But I gave it a go, even though I'm not
> certain of the shard names. Now I have a NPE.
> >
> >
> solr/collection1/select?q=kernel+p&rows=1&wt=json&indent=true&shards.qt=/ac&shards=shard1,shard2
>
> If this is not SolrCloud, then the shards parameter must include most of
> the full base URL for each shard that you will be querying.  You can
> only use a bare shard name if you're running SolrCloud.
>
> The shards.qt parameter that you have used means that when the shards
> are consulted, the /ac handler will be used rather than /select.
>
> Here's an example of a shards parameter that will combine results from
> three cores on two machines.  When not running SolrCloud, this is how
> you do distributed searching:
>
> shards=
> idxa2.example.com:8981/solr/ai-inclive,idxa1.example.com:8981/solr/ai-0live,idxa2.example.com:8981/solr/ai-1live
>
> SolrCloud hides almost all of this complexity.
>
> Thanks,
> Shawn
>
>


Re: SpellCheck (AutoComplete) Not Working In Distributed Environment

2014-12-31 Thread Charles Sanders
Got it. Thanks for your help everyone. 


- Original Message -

From: "Shawn Heisey"  
To: solr-user@lucene.apache.org 
Sent: Tuesday, December 30, 2014 7:16:59 PM 
Subject: Re: SpellCheck (AutoComplete) Not Working In Distributed Environment 

On 12/30/2014 5:03 PM, Charles Sanders wrote: 
> Thanks for the suggestion. 
> 
> I did not do that originally because the documentation states: 
> This parameter is not required for the /select request handler. 
> 
> Which is what I am using. But I gave it a go, even though I'm not certain of 
> the shard names. Now I have a NPE. 
> 
> solr/collection1/select?q=kernel+p&rows=1&wt=json&indent=true&shards.qt=/ac&shards=shard1,shard2
>  

If this is not SolrCloud, then the shards parameter must include most of 
the full base URL for each shard that you will be querying. You can 
only use a bare shard name if you're running SolrCloud. 

The shards.qt parameter that you have used means that when the shards 
are consulted, the /ac handler will be used rather than /select. 

Here's an example of a shards parameter that will combine results from 
three cores on two machines. When not running SolrCloud, this is how 
you do distributed searching: 

shards=idxa2.example.com:8981/solr/ai-inclive,idxa1.example.com:8981/solr/ai-0live,idxa2.example.com:8981/solr/ai-1live
 

SolrCloud hides almost all of this complexity. 

Thanks, 
Shawn 




Re: SpellCheck (AutoComplete) Not Working In Distributed Environment

2014-12-30 Thread Shawn Heisey
On 12/30/2014 5:03 PM, Charles Sanders wrote:
> Thanks for the suggestion. 
> 
> I did not do that originally because the documentation states: 
> This parameter is not required for the /select request handler. 
> 
> Which is what I am using. But I gave it a go, even though I'm not certain of 
> the shard names. Now I have a NPE. 
> 
> solr/collection1/select?q=kernel+p&rows=1&wt=json&indent=true&shards.qt=/ac&shards=shard1,shard2
>  

If this is not SolrCloud, then the shards parameter must include most of
the full base URL for each shard that you will be querying.  You can
only use a bare shard name if you're running SolrCloud.

The shards.qt parameter that you have used means that when the shards
are consulted, the /ac handler will be used rather than /select.

Here's an example of a shards parameter that will combine results from
three cores on two machines.  When not running SolrCloud, this is how
you do distributed searching:

shards=idxa2.example.com:8981/solr/ai-inclive,idxa1.example.com:8981/solr/ai-0live,idxa2.example.com:8981/solr/ai-1live

SolrCloud hides almost all of this complexity.

Thanks,
Shawn



Re: SpellCheck (AutoComplete) Not Working In Distributed Environment

2014-12-30 Thread Charles Sanders
Thanks for the suggestion. 

I did not do that originally because the documentation states: 
This parameter is not required for the /select request handler. 

Which is what I am using. But I gave it a go, even though I'm not certain of 
the shard names. Now I have a NPE. 

solr/collection1/select?q=kernel+p&rows=1&wt=json&indent=true&shards.qt=/ac&shards=shard1,shard2
 

{
  "responseHeader":{
"status":500,
"QTime":12,
"params":{
  "shards":"shard1,shard2",
  "indent":"true",
  "shards.qt":"/ac",
  "q":"kernel p",
  "wt":"json",
  "rows":"1"}},
  "error":{
"trace":"java.lang.NullPointerException\n\tat 
org.apache.solr.handler.component.QueryComponent.mergeIds(QueryComponent.java:901)\n\tat
 
org.apache.solr.handler.component.QueryComponent.handleRegularResponses(QueryComponent.java:686)\n\tat
 
org.apache.solr.handler.component.QueryComponent.handleResponses(QueryComponent.java:665)\n\tat
 
org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:325)\n\tat
 
org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:135)\n\tat
 org.apache.solr.core.SolrCore.execute(SolrCore.java:1952)\n\tat 
org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:787)\n\tat
 
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:431)\n\tat
 
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:207)\n\tat
 
com.lucid.servlet.LweSolrDispatchFilter.doFilter(LweSolrDispatchFilter.java:202)\n\tat
 
com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163)\n\tat
 
com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)\n\tat
 
com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168)\n\tat
 
com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)\n\tat
 
com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:118)\n\tat
 com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113)\n\tat 
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1337)\n\tat
 
org.eclipse.jetty.servlets.CrossOriginFilter.handle(CrossOriginFilter.java:212)\n\tat
 
org.eclipse.jetty.servlets.CrossOriginFilter.doFilter(CrossOriginFilter.java:179)\n\tat
 
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1337)\n\tat
 
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:484)\n\tat
 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)\n\tat
 
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524)\n\tat
 
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:233)\n\tat
 
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1065)\n\tat
 
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:413)\n\tat 
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:192)\n\tat
 
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:999)\n\tat
 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)\n\tat
 
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:250)\n\tat
 
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:149)\n\tat
 
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:111)\n\tat
 org.eclipse.jetty.server.Server.handle(Server.java:351)\n\tat 
org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:454)\n\tat
 
org.eclipse.jetty.server.BlockingHttpConnection.handleRequest(BlockingHttpConnection.java:47)\n\tat
 
org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:890)\n\tat
 
org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:944)\n\tat
 org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:634)\n\tat 
org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:230)\n\tat 
org.eclipse.jetty.server.BlockingHttpConnection.handle(BlockingHttpConnection.java:66)\n\tat
 
org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.run(SocketConnector.java:254)\n\tat
 
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:599)\n\tat
 
org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:534)\n\tat
 java.lang.Thread.run(Thread.java:744)\n",
"code":500}} 



- Original Message -

From: "Erick Erickson"  
To: solr-user@lucene.apache.org 
Sent: Tuesday, December 30, 2014 6:07:13 PM 
Subject: Re: SpellC

Re: SpellCheck (AutoComplete) Not Working In Distributed Environment

2014-12-30 Thread Erick Erickson
Did you try the shards parameter? See:
https://cwiki.apache.org/confluence/display/solr/Spell+Checking#SpellChecking-DistributedSpellCheck

On Tue, Dec 30, 2014 at 2:20 PM, Charles Sanders  wrote:
> I'm running Solr 4.8 in a distributed environment (2 shards). I have added 
> the spellcheck component to my request handler. In my test system, which is 
> not distributed, it works. But when I move it to the Dev box, which is 
> distributed, 2 shards, it is not working. Is there something additional I 
> must do to get this to work in a distributed environment?
>
> 
> 
> 
> explicit
> 10
> allText
> 
> true
> andreasAutoComplete
> true
> 5
> true
> 5
> 
> 
> autoComplete
> 
> 
>
> 
> 
> andreasAutoComplete
> org.apache.solr.spelling.suggest.Suggester
>  name="lookupImpl">org.apache.solr.spelling.suggest.tst.TSTLookupFactory
> sugg_allText
> true
> .005
> text_suggest
> 
> 
>
>
> Any help greatly appreciated! Thanks,
> -Charles
>
>
>


SpellCheck (AutoComplete) Not Working In Distributed Environment

2014-12-30 Thread Charles Sanders
I'm running Solr 4.8 in a distributed environment (2 shards). I have added the 
spellcheck component to my request handler. In my test system, which is not 
distributed, it works. But when I move it to the Dev box, which is distributed, 
2 shards, it is not working. Is there something additional I must do to get 
this to work in a distributed environment? 

 
 
 
explicit 
10 
allText 
 
true 
andreasAutoComplete 
true 
5 
true 
5 
 
 
autoComplete 
 
 

 
 
andreasAutoComplete 
org.apache.solr.spelling.suggest.Suggester 
org.apache.solr.spelling.suggest.tst.TSTLookupFactory 
sugg_allText 
true 
.005 
text_suggest 
 
 


Any help greatly appreciated! Thanks, 
-Charles