You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by Max Bridgewater <ma...@gmail.com> on 2016/04/01 18:40:14 UTC
Function Query Parsing problem in Solr 5.4.1 and Solr 5.5.0
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)
Re: Function Query Parsing problem in Solr 5.4.1 and Solr 5.5.0
Posted by Max Bridgewater <ma...@gmail.com>.
Thank you Mike, that was it.
Max.
On Sat, Apr 2, 2016 at 2:40 AM, Mikhail Khludnev <mkhludnev@griddynamics.com
> wrote:
> 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.bridgewater@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>
> <mk...@griddynamics.com>
>
Re: Function Query Parsing problem in Solr 5.4.1 and Solr 5.5.0
Posted by Mikhail Khludnev <mk...@griddynamics.com>.
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 <ma...@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>
<mk...@griddynamics.com>