You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by SuReN <su...@gmail.com> on 2015/11/30 11:51:13 UTC

Using OR along with join query results causing NullPointerException in Solr 4.7.2

Hello Lucene/Solr Experts,

I am  getting NullPointerException  while using OR along with the join
results.

Following are the documents and fields configured in my solr server(version
4.7.2).

*brands {id, brand_name}*
*products {id, product_name, brand_id}*

Following are the data indexed

*BRANDS: {1, Apple}, {2, Samsung}, {3, HTC}*

*PRODUCTS: {10, iPhone, 1}, {11, iPad, 1}, {12, Galaxy S3, 2}, {13, Galaxy
Note, 2}, {14, Desire, 3}*

I am trying to get all the products with brand_name is "Samsung" or
product_name is "Desire"

Query which i am trying is

*brand_name:Samsung  OR {!join from=brand_id to=id} product_name:Desire*

But i am getting error saying

ERROR [SolrDispatchFilter] null:java.lang.NullPointerException: while
trying to invoke the method org.apache.lucene.search.Query.hashCode() of a
null object loaded from field org.apache.solr.search.JoinQuery.q of an
object loaded from local variable 'this'
        at
org.apache.solr.search.JoinQuery.hashCode(JoinQParserPlugin.java:594)
        at
org.apache.lucene.search.BooleanClause.hashCode(BooleanClause.java:99)
        at java.util.AbstractList.hashCode(AbstractList.java:541)
        at
org.apache.lucene.search.BooleanQuery.hashCode(BooleanQuery.java:520)
        at
org.apache.solr.search.QueryResultKey.<init>(QueryResultKey.java:47)
        at
org.apache.solr.search.SolrIndexSearcher.getDocListC(SolrIndexSearcher.java:1305)
        at
org.apache.solr.search.SolrIndexSearcher.search(SolrIndexSearcher.java:476)
        at
org.apache.solr.handler.component.QueryComponent.process(QueryComponent.java:461)
        at
org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:217)
        at
org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:135)
        at org.apache.solr.core.SolrCore.execute(SolrCore.java:1916)
        at
org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:768)
        at
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:415)
        at
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:205)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
        at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:173)
        at
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
        at
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
        at
org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
        at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
        at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
        at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
        at
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
        at java.lang.Thread.run(Thread.java:812)


What is right to use OR along with join query results? I also wanted to
group multiple join results using OR.

Something like following query

*( field1:value1  OR  field2:value2  OR  field3:value3  OR {!join
from=some_id to=some_other_id} field4:value4 OR  {!join from=some_field_is
to=some_other_field_id} field5:value5)*
*AND field7:value7 AND datefield1:{* TO 2015-11-30T14:28:11Z } AND
datefield2:{2015-11-30T14:28:11Z TO *}*

 Please suggest if any other way is there to do this.


Thanks in advance.

Regards,
Suren.

Re: Using OR along with join query results causing NullPointerException in Solr 4.7.2

Posted by Mikhail Khludnev <mk...@griddynamics.com>.
On Mon, Nov 30, 2015 at 1:51 PM, SuReN <su...@gmail.com> wrote:

> o=id} product_name:Desire*


just the first guess, try to avoid the space in the clause above


-- 
Sincerely yours
Mikhail Khludnev
Principal Engineer,
Grid Dynamics

<http://www.griddynamics.com>
<mk...@griddynamics.com>