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.

Reply via email to