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.