It looks to me like you're feeding this from some kind of text file and you really _do_ have a line break after "Stara
Or have a line break in the string you paste into the URL or something similar. Kind of shooting in the dark though. Erick On Wed, Mar 19, 2014 at 8:48 AM, Marcin Rzewucki <mrzewu...@gmail.com> wrote: > Hi, > > I have the following issue with join query parser and filter query. For > such query: > > <str name="q">*:*</str> > <str name="fq"> > (({!join from=inner_id to=outer_id fromIndex=othercore}city:"Stara > Zagora")) AND (prod:214) > </str> > > I got error: > <lst name="error"> > <str name="msg"> > org.apache.solr.search.SyntaxError: Cannot parse 'city:"Stara': Lexical > error at line 1, column 12. Encountered: <EOF> after : "\"Stara" > </str> > <int name="code">400</int> > </lst> > > Stack: > DEBUG - 2014-03-19 13:35:20.825; org.eclipse.jetty.servlet.ServletHandler; > chain=SolrRequestFilter->default > DEBUG - 2014-03-19 13:35:20.826; > org.eclipse.jetty.servlet.ServletHandler$CachedChain; call filter > SolrRequestFilter > ERROR - 2014-03-19 13:35:20.828; org.apache.solr.common.SolrException; > org.apache.solr.common.SolrException: org.apache.solr.search.SyntaxError: > Cannot parse 'city:"Stara': Lexical error at line 1, column 12. E > ncountered: <EOF> after : "\"Stara" > at > org.apache.solr.handler.component.QueryComponent.prepare(QueryComponent.java:179) > at > org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:193) > 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:780) > at > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:427) > at > org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:217) > at > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1419) > at > org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:455) > at > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137) > at > org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557) > at > org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231) > at > org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1075) > at > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:384) > at > org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193) > at > org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1009) > 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:364) > at > org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489) > at > org.eclipse.jetty.server.BlockingHttpConnection.handleRequest(BlockingHttpConnection.java:53) > at > org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:942) > at > org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1004) > at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:640) > at > org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235) > 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:744) > Caused by: org.apache.solr.search.SyntaxError: Cannot parse 'city:"Stara': > Lexical error at line 1, column 12. Encountered: <EOF> after : "\"Stara" > at > org.apache.solr.parser.SolrQueryParserBase.parse(SolrQueryParserBase.java:159) > at org.apache.solr.search.LuceneQParser.parse(LuceneQParser.java:50) > at org.apache.solr.search.QParser.getQuery(QParser.java:141) > at > org.apache.solr.search.JoinQParserPlugin$1.parse(JoinQParserPlugin.java:93) > at org.apache.solr.search.QParser.getQuery(QParser.java:141) > at > org.apache.solr.parser.SolrQueryParserBase.getLocalParams(SolrQueryParserBase.java:832) > at org.apache.solr.parser.QueryParser.Clause(QueryParser.java:212) > at org.apache.solr.parser.QueryParser.Query(QueryParser.java:107) > at org.apache.solr.parser.QueryParser.Clause(QueryParser.java:189) > at org.apache.solr.parser.QueryParser.Query(QueryParser.java:139) > at org.apache.solr.parser.QueryParser.Clause(QueryParser.java:189) > at org.apache.solr.parser.QueryParser.Query(QueryParser.java:107) > at > org.apache.solr.parser.QueryParser.TopLevelQuery(QueryParser.java:96) > at > org.apache.solr.parser.SolrQueryParserBase.parse(SolrQueryParserBase.java:152) > at org.apache.solr.search.LuceneQParser.parse(LuceneQParser.java:50) > at org.apache.solr.search.QParser.getQuery(QParser.java:141) > at > org.apache.solr.handler.component.QueryComponent.prepare(QueryComponent.java:168) > ... 31 more > Caused by: org.apache.solr.parser.TokenMgrError: Lexical error at line 1, > column 12. Encountered: <EOF> after : "\"Stara" > at > org.apache.solr.parser.QueryParserTokenManager.getNextToken(QueryParserTokenManager.java:1197) > at org.apache.solr.parser.QueryParser.jj_ntk(QueryParser.java:579) > at org.apache.solr.parser.QueryParser.Clause(QueryParser.java:174) > at org.apache.solr.parser.QueryParser.Query(QueryParser.java:107) > at > org.apache.solr.parser.QueryParser.TopLevelQuery(QueryParser.java:96) > at > org.apache.solr.parser.SolrQueryParserBase.parse(SolrQueryParserBase.java:152) > ... 47 more > > But the below query works fine: > <str name="q">*:*</str> > <arr name="fq"> > <str> > {!join from=inner_id to=outer_id fromIndex=othercore}city:"Stara Zagora" > </str> > <str>prod:214</str> > </arr> > > What is wrong ? Is it AND operator ? > The only workaround I found is to skip double quotes and use question mark > instead of space: > <str name="q">*:*</str> > <str name="fq"> > (({!join from=inner_id to=outer_id fromIndex=othercore}city:Stara?Zagora)) > AND (prod:214) > </str> > > Then it works, but it's not the best solution. Any other ideas ? > I kindly appreciate your help. Thanks. > > Regards.