Hello Max, Since it reports the first space occurrence pos=32, I advise to nuke all spaces between braces in sum().
On Fri, Apr 1, 2016 at 7:40 PM, Max Bridgewater <max.bridgewa...@gmail.com> wrote: > Hi, > > I have the following configuration for firstSearcher handler in > solrconfig.xml: > > > <listener event="firstSearcher" class="solr.QuerySenderListener"> > <arr name="queries"> > <lst> > <str name="q">parts</str> > <str name="sort">score desc, Review1 asc, Rank2 asc</str> > </lst> > <lst> > <str name="q">make</str> > <str name="sort">{!func}sum(product(0.01,param1), > product(0.20,param2), min(param2,0.4)) desc</str> > </lst> > </arr> > </listener> > > This works great in Solr 4.10. However, in solr 5.4.1 and solr 5.5.0, I get > the below error. How do I write this kind of query with Solr 5? > > > Thanks, > Max. > > > ERROR org.apache.solr.handler.RequestHandlerBase [ x:productsearch] – > org.apache.solr.common.SolrException: Can't determine a Sort Order (asc or > desc) in sort spec '{!func}sum(product(0.01,param1), product(0.20,param2), > min(param2,0.4)) desc', pos=32 > at > > org.apache.solr.search.SortSpecParsing.parseSortSpec(SortSpecParsing.java:143) > at org.apache.solr.search.QParser.getSort(QParser.java:247) > at > > org.apache.solr.handler.component.QueryComponent.prepare(QueryComponent.java:18 > 7) > at > > org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler > .java:247) > at > > org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.jav > a:156) > at org.apache.solr.core.SolrCore.execute(SolrCore.java:2073) > at > > org.apache.solr.core.QuerySenderListener.newSearcher(QuerySenderListener.java:6 > 9) > at org.apache.solr.core.SolrCore$5.call(SolrCore.java:1840) > -- Sincerely yours Mikhail Khludnev Principal Engineer, Grid Dynamics <http://www.griddynamics.com> <mkhlud...@griddynamics.com>