Found this post:
http://mail-archives.apache.org/mod_mbox/lucene-solr-user/201302.mbox/%3CCAB_8Yd82aqq=oY6dBRmVjG7gvBBewmkZGF9V=fpne4xgkbu...@mail.gmail.com%3E

And based on the answer, I modified my query: localhost:8983/solr/location/
select?fq={!join from=key to=merchantId fromIndex=merchant}*:*

I don't see any errors, but my original problem still persists, no
documents are returned.
The two fields on which I am trying to join is:

Merchant: <field name="merchantId" type="string"   indexed="true"
stored="true"  multiValued="false" />
Location:  <field name="merchantId" type="string"   indexed="false"
stored="true"  multiValued="false" />

Thanks,
-Utkarsh


On Tue, Jul 16, 2013 at 11:39 AM, Utkarsh Sengar <utkarsh2...@gmail.com>wrote:

> Looks like the JoinQParserPlugin is throwing an NPE.
> Query: localhost:8983/solr/location/select?q=*:*&fq={!join from=key
> to=merchantId fromIndex=merchant}
>
> 84343345 [qtp2012387303-16] ERROR org.apache.solr.core.SolrCore  –
> java.lang.NullPointerException
>     at
> org.apache.solr.search.JoinQuery.hashCode(JoinQParserPlugin.java:580)
>     at org.apache.solr.search.QueryResultKey.<init>(QueryResultKey.java:50)
>     at
> org.apache.solr.search.SolrIndexSearcher.getDocListC(SolrIndexSearcher.java:1274)
>     at
> org.apache.solr.search.SolrIndexSearcher.search(SolrIndexSearcher.java:457)
>     at
> org.apache.solr.handler.component.QueryComponent.process(QueryComponent.java:410)
>     at
> org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:208)
>     at
> org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:135)
>     at org.apache.solr.core.SolrCore.execute(SolrCore.java:1816)
>     at
> org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:656)
>     at
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:359)
>     at
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:155)
>     at
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1307)
>     at
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:453)
>     at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
>     at
> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:560)
>     at
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
>     at
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1072)
>     at
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:382)
>     at
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
>     at
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1006)
>     at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
>     at
> org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:255)
>     at
> org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154)
>     at
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
>     at org.eclipse.jetty.server.Server.handle(Server.java:365)
>     at
> org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:485)
>     at
> org.eclipse.jetty.server.BlockingHttpConnection.handleRequest(BlockingHttpConnection.java:53)
>     at
> org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:937)
>     at
> org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:998)
>     at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:856)
>     at
> org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240)
>     at
> org.eclipse.jetty.server.BlockingHttpConnection.handle(BlockingHttpConnection.java:72)
>     at
> org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.run(SocketConnector.java:264)
>     at
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
>     at
> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
>     at java.lang.Thread.run(Thread.java:662)
>
> 84343350 [qtp2012387303-16] INFO  org.apache.solr.core.SolrCore  –
> [location] webapp=/solr path=/select
> params={distrib=false&wt=javabin&version=2&rows=10&df=allText&fl=key,score&shard.url=x:8983/solr/location/&NOW=1373999694930&start=0&q=*:*&_=1373999505886&isShard=true&fq={!join+from%3Dkey+to%3DmerchantId+fromIndex%3Dmerchant}&fsv=true}
> status=500 QTime=6
> 84343351 [qtp2012387303-16] ERROR
> org.apache.solr.servlet.SolrDispatchFilter  –
> null:java.lang.NullPointerException
>     at
> org.apache.solr.search.JoinQuery.hashCode(JoinQParserPlugin.java:580)
>     at org.apache.solr.search.QueryResultKey.<init>(QueryResultKey.java:50)
>     at
> org.apache.solr.search.SolrIndexSearcher.getDocListC(SolrIndexSearcher.java:1274)
>     at
> org.apache.solr.search.SolrIndexSearcher.search(SolrIndexSearcher.java:457)
>     at
> org.apache.solr.handler.component.QueryComponent.process(QueryComponent.java:410)
>     at
> org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:208)
>     at
> org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:135)
>     at org.apache.solr.core.SolrCore.execute(SolrCore.java:1816)
>     at
> org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:656)
>     at
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:359)
>     at
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:155)
>     at
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1307)
>     at
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:453)
>     at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
>     at
> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:560)
>     at
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
>     at
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1072)
>     at
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:382)
>     at
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
>     at
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1006)
>     at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
>     at
> org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:255)
>     at
> org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154)
>     at
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
>     at org.eclipse.jetty.server.Server.handle(Server.java:365)
>     at
> org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:485)
>     at
> org.eclipse.jetty.server.BlockingHttpConnection.handleRequest(BlockingHttpConnection.java:53)
>     at
> org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:937)
>     at
> org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:998)
>     at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:856)
>     at
> org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240)
>     at
> org.eclipse.jetty.server.BlockingHttpConnection.handle(BlockingHttpConnection.java:72)
>     at
> org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.run(SocketConnector.java:264)
>     at
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
>     at
> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
>     at java.lang.Thread.run(Thread.java:662)
>
> 84343363 [qtp2012387303-17] ERROR org.apache.solr.core.SolrCore  –
> org.apache.solr.client.solrj.impl.HttpSolrServer$RemoteSolrException:
> Server at http://x:8983/solr/location returned non ok status:500,
> message:Server Error
>     at
> org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:372)
>     at
> org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:180)
>     at
> org.apache.solr.handler.component.HttpShardHandler$1.call(HttpShardHandler.java:156)
>     at
> org.apache.solr.handler.component.HttpShardHandler$1.call(HttpShardHandler.java:119)
>     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
>     at java.util.concurrent.FutureTask.run(FutureTask.java:138)
>     at
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
>     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
>     at java.util.concurrent.FutureTask.run(FutureTask.java:138)
>     at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
>     at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
>     at java.lang.Thread.run(Thread.java:662)
>
> 84343364 [qtp2012387303-17] INFO  org.apache.solr.core.SolrCore  –
> [location] webapp=/solr path=/select
> params={indent=true&q=*:*&_=1373999505886&wt=xml&fq={!join+from%3Dkey+to%3DmerchantId+fromIndex%3Dmerchant}}
> status=500 QTime=185
> 84343365 [qtp2012387303-17] ERROR
> org.apache.solr.servlet.SolrDispatchFilter  –
> null:org.apache.solr.client.solrj.impl.HttpSolrServer$RemoteSolrException:
> Server at http://x:8983/solr/location returned non ok status:500,
> message:Server Error
>     at
> org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:372)
>     at
> org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:180)
>     at
> org.apache.solr.handler.component.HttpShardHandler$1.call(HttpShardHandler.java:156)
>     at
> org.apache.solr.handler.component.HttpShardHandler$1.call(HttpShardHandler.java:119)
>     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
>     at java.util.concurrent.FutureTask.run(FutureTask.java:138)
>     at
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
>     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
>     at java.util.concurrent.FutureTask.run(FutureTask.java:138)
>     at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
>     at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
>     at java.lang.Thread.run(Thread.java:662)
>
>
> Thanks,
> -Utkarsh
>
>
>
> On Tue, Jul 16, 2013 at 5:24 AM, Erick Erickson 
> <erickerick...@gmail.com>wrote:
>
>> Not quite sure what's the problem with the second, but the
>> first is:
>> q=:
>>
>> That just isn't legal, try q=*:*
>>
>> As for the second, are there any other errors in the solr log?
>> Sometimes what's returned in the response packet does not
>> include the true source of the problem.
>>
>> Best
>> Erick
>>
>> On Mon, Jul 15, 2013 at 7:40 PM, Utkarsh Sengar <utkarsh2...@gmail.com>
>> wrote:
>> > I have also tried these queries (as per this SO answer:
>> >
>> http://stackoverflow.com/questions/12665797/is-solr-4-0-capable-of-using-join-for-multiple-core
>> > )
>> >
>> > 1. http://_server_.com:8983/solr/location/select?q=:&fq={!join
>> > from=merchantId to=merchantId fromIndex=merchant}walgreens
>> >
>> > And I get this:
>> >
>> > {
>> >   "responseHeader":{
>> >     "status":400,
>> >     "QTime":1,
>> >     "params":{
>> >       "indent":"true",
>> >       "q":":",
>> >       "wt":"json",
>> >       "fq":"{!join from=merchantId to=merchantId
>> > fromIndex=merchant}walgreens"}},
>> >   "error":{
>> >     "msg":"org.apache.solr.search.SyntaxError: Cannot parse ':':
>> > Encountered \" \":\" \": \"\" at line 1, column 0.\nWas expecting one
>> > of:\n    <NOT> ...\n    \"+\" ...\n    \"-\" ...\n    <BAREOPER> ...\n
>> >    \"(\" ...\n    \"*\" ...\n    <QUOTED> ...\n    <TERM> ...\n
>> > <PREFIXTERM> ...\n    <WILDTERM> ...\n    <REGEXPTERM> ...\n    \"[\"
>> > ...\n    \"{\" ...\n    <LPARAMS> ...\n    <NUMBER> ...\n    <TERM>
>> > ...\n    \"*\" ...\n    ",
>> >     "code":400}}
>> >
>> > And this:
>> > 2.http://_server_.com:8983/solr/location/select?q=walgreens&fq={!join
>> > from=merchantId to=merchantId fromIndex=merchant}
>> >
>> > {
>> >   "responseHeader":{
>> >     "status":500,
>> >     "QTime":5,
>> >     "params":{
>> >       "indent":"true",
>> >       "q":"walgreens",
>> >       "wt":"json",
>> >       "fq":"{!join from=merchantId to=merchantId fromIndex=merchant}"}},
>> >   "error":{
>> >     "msg":"Server at http://_SERVER_:8983/solr/location returned non
>> > ok status:500, message:Server Error",
>> >
>> "trace":"org.apache.solr.client.solrj.impl.HttpSolrServer$RemoteSolrException:
>> > Server at http://_SERVER_:8983/solr/location returned non ok
>> > status:500, message:Server Error\n\tat
>> >
>> org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:372)\n\tat
>> >
>> org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:180)\n\tat
>> >
>> org.apache.solr.handler.component.HttpShardHandler$1.call(HttpShardHandler.java:156)\n\tat
>> >
>> org.apache.solr.handler.component.HttpShardHandler$1.call(HttpShardHandler.java:119)\n\tat
>> > java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)\n\tat
>> > java.util.concurrent.FutureTask.run(FutureTask.java:138)\n\tat
>> >
>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)\n\tat
>> > java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)\n\tat
>> > java.util.concurrent.FutureTask.run(FutureTask.java:138)\n\tat
>> >
>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)\n\tat
>> >
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)\n\tat
>> > java.lang.Thread.run(Thread.java:662)\n",
>> >     "code":500}}
>> >
>> > Thanks,
>> > -Utkarsh
>> >
>> >
>> >
>> > On Mon, Jul 15, 2013 at 4:27 PM, Utkarsh Sengar <utkarsh2...@gmail.com
>> >wrote:
>> >
>> >> Hello,
>> >>
>> >> I am trying to join data between two cores: merchant and location
>> >>
>> >> This is my query:
>> >> http://_server_.com:8983/solr/location/select?q={!join from=merchantId
>> >> to=merchantId fromIndex=merchant}walgreens
>> >> Ref: http://wiki.apache.org/solr/Join
>> >>
>> >>
>> >> Merchants core has documents for the query: "walgreens" with an
>> merchantId
>> >> 1
>> >>  A simple query: http://
>> _server_.com:8983/solr/location/select?q=walgreens
>> >> returns documents called walgreens with merchantId=1
>> >>
>> >> Location core has documents with merchantId=1 too.
>> >>
>> >> But my join query returns no documents.
>> >>
>> >> This is the response I get:
>> >> {
>> >>   "responseHeader":{
>> >>     "status":0,
>> >>     "QTime":5,
>> >>     "params":{
>> >>       "debugQuery":"true",
>> >>       "indent":"true",
>> >>       "q":"{!join from=merchantId to=merchantId
>> >> fromIndex=merchant}walgreens",
>> >>       "wt":"json"}},
>> >>   "response":{"numFound":0,"start":0,"maxScore":0.0,"docs":[]
>> >>   },
>> >>   "debug":{
>> >>     "rawquerystring":"{!join from=merchantId to=merchantId
>> >> fromIndex=merchant}walgreens",
>> >>     "querystring":"{!join from=merchantId to=merchantId
>> >> fromIndex=merchant}walgreens",
>> >>     "parsedquery":"JoinQuery({!join from=merchantId to=merchantId
>> >> fromIndex=merchant}allText:walgreens)",
>> >>     "parsedquery_toString":"{!join from=merchantId to=merchantId
>> >> fromIndex=merchant}allText:walgreens",
>> >>     "QParser":"",
>> >>     "explain":{}}}
>> >>
>> >>
>> >> Any suggestions?
>> >>
>> >>
>> >> --
>> >> Thanks,
>> >> -Utkarsh
>> >>
>> >
>> >
>> >
>> > --
>> > Thanks,
>> > -Utkarsh
>>
>
>
>
> --
> Thanks,
> -Utkarsh
>



-- 
Thanks,
-Utkarsh

Reply via email to