Hello! Ahhh, sorry. I see now. The function query you are specifying for the sort is not proper. Solr doesn't understand that part:
exists(start_time:[* TO 1721] AND end_time:[1721 TO *]) try something like that: sort=if(exists(query($innerQuery)),100,0)+desc&innerQuery={!edismax}(start_time:[*+TO+1721] AND end_time:[1721+TO+*]) However remember that exists function is only Solr 4.0. I don't have any example data with me right now, so I can't say if it will work for sure, but clean Solr 4.0 doesn't cry about errors now :) -- Regards, Rafał Kuć Sematext :: http://sematext.com/ :: Solr - Lucene - Nutch - ElasticSearch > Thanks for the response, I did append the sort order but the result was the > same, > Can't determine a Sort Order (asc or desc) in sort spec > 'if(exists(start_time:[* TO 1721] AND end_time:[1721 TO *]),100,0) asc', > pos=23 > Thanks, > Indika > On 8 November 2012 04:02, Rafał Kuć <r....@solr.pl> wrote: >> Hello! >> >> From looking at your sort parameter it seems that you are missing the >> order of sorting. The function query will return a value on which >> Solr will sort and Solr needs to know if the documents should be >> sorted in descending or ascending order. Try something like that: >> >> sort=if(exists(start_time:[* TO 1721] AND end_time:[1721 TO >> *]),100,0)+desc >> >> -- >> Regards, >> Rafał Kuć >> Sematext :: http://sematext.com/ :: Solr - Lucene - Nutch - ElasticSearch >> >> > Hi All, >> >> > I am trying to sort by a boolean function to sort the places that are >> open >> > and not open as given below >> >> > sort=if(exists(start_time:[* TO 1721] AND end_time:[1721 TO *]),100,0) >> >> > However I keep getting an error message saying >> > Can't determine a Sort Order (asc or desc) in sort spec >> > 'if(exists(start_time:[* TO 1721] AND end_time:[1721 TO *]),100,0) asc', >> > pos=23 >> >> > I assume that boolean functions can be used to sort. Is there anything >> > missing from the sort function ? >> >> > Thanks, >> > Indika >> >>