Wow, that was fast reply :) It works. Thank you!
On 19 March 2014 13:24, Jack Krupansky <j...@basetechnology.com> wrote: > For any "improperly" named field (that don't use the java identifier > conventions), you simply need to use the field function with the field name > in apostrophes: > > div(acc_curr_834_2-1900_tl,100000000) > > becomes: > > div(field('acc_curr_834_2-1900_tl'),100000000) > > -- Jack Krupansky > > -----Original Message----- From: Marcin Rzewucki > Sent: Wednesday, March 19, 2014 8:13 AM > To: solr-user@lucene.apache.org > Subject: frange and field with hyphen > > > Hi everyone, > > I got the following issue recently. I'm trying to use frange on a field > which has hyphen in name: > > <lst name="params"> > <str name="debugQuery">true</str> > <str name="indent">on</str> > <str name="q">*:*</str> > <str name="wt">xml</str> > <arr name="fq"> > <str> > {!frange l=1 u=99999999999999}sub(if(100000000, > div(acc_curr_834_2-1900_tl, > 100000000), 0), 1) > </str> > </arr> > <str name="version">2.2</str> > </lst> > </lst> > > I got the following error: > > DEBUG - 2014-03-19 12:11:53.805; org.eclipse.jetty.servlet.ServletHandler; > chain=SolrRequestFilter->default > DEBUG - 2014-03-19 12:11:53.805; > org.eclipse.jetty.servlet.ServletHandler$CachedChain; call filter > SolrRequestFilter > ERROR - 2014-03-19 12:11:53.806; org.apache.solr.common.SolrException; > org.apache.solr.common.SolrException: undefined field: "acc_curr_834_2" > at > org.apache.solr.schema.IndexSchema.getField(IndexSchema.java:1172) > at > org.apache.solr.search.FunctionQParser.parseValueSource( > FunctionQParser.java:361) > at > org.apache.solr.search.FunctionQParser.parseValueSource( > FunctionQParser.java:223) > at > org.apache.solr.search.ValueSourceParser$11.parse( > ValueSourceParser.java:174) > at > org.apache.solr.search.FunctionQParser.parseValueSource( > FunctionQParser.java:352) > at > org.apache.solr.search.FunctionQParser.parseValueSource( > FunctionQParser.java:223) > at > org.apache.solr.search.ValueSourceParser$73.parse( > ValueSourceParser.java:775) > at > org.apache.solr.search.FunctionQParser.parseValueSource( > FunctionQParser.java:352) > at > org.apache.solr.search.FunctionQParser.parseValueSource( > FunctionQParser.java:223) > at > org.apache.solr.search.ValueSourceParser$18.parse( > ValueSourceParser.java:252) > at > org.apache.solr.search.FunctionQParser.parseValueSource( > FunctionQParser.java:352) > at > org.apache.solr.search.FunctionQParser.parse(FunctionQParser.java:68) > at org.apache.solr.search.QParser.getQuery(QParser.java:141) > at > org.apache.solr.search.SolrReturnFields.add(SolrReturnFields.java:285) > at > org.apache.solr.search.SolrReturnFields.parseFieldList( > SolrReturnFields.java:112) > at > org.apache.solr.search.SolrReturnFields.<init>(SolrReturnFields.java:98) > at > org.apache.solr.search.SolrReturnFields.<init>(SolrReturnFields.java:74) > at > org.apache.solr.handler.component.QueryComponent. > prepare(QueryComponent.java:122) > at > org.apache.solr.handler.component.SearchHandler.handleRequestBody( > SearchHandler.java:200) > 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) > > I checked this query on solr 4.5 and 4.7. It works only for fields without > hyphen in name. > Could it be a bug ? Otherwise, could you let me know what am I doing wrong > ? > > Kind regards. >