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.
>

Reply via email to