Hi,
I'm having problems using SolrQuery.add(String, String).
My Sample code is:
SolrQuery anotherQuery = new SolrQuery();
anotherQuery.add("city", cmd.getCity());
I get the following error:
null java.lang.NullPointerException at
org.apache.solr.common.util.StrUtils.splitSmart(StrUtils.java:36) at
org.apache.solr.search.OldLuceneQParser.parse(LuceneQParserPlugin.java:104)
at org.apache.solr.search.QParser.getQuery(QParser.java:80) at
org.apache.solr.handler.component.QueryComponent.prepare(QueryComponent.java:66)
at
org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:143)
at
org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:117)
at org.apache.solr.core.SolrCore.execute(SolrCore.java:902) at
org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:280)
at
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:237)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:541)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:619)
request:
http://localhost.local:8080/solr/select?city=Berlin&wt=xml&version=2.2
If I do it like that:
SolrQuery query = new SolrQuery();
query.setQuery("city:" + cmd.getCity() + " AND age:24");
Everything works fine.
It's not a real problem because the second version does the job, but the
code is quite ugly.
Thanks for your help,
Matthias