Description
If you use the "if" function query, you'll often expect to be able to use greater than/less than functions. For example, you might want to boost books written in the past 7 years. Unfortunately, there's no "greater than" function query that will return non-zero when the lhs > rhs. Instead to get this, you need to create really awkward function queries like I do here (http://opensourceconnections.com/blog/2014/11/26/stepwise-date-boosting-in-solr/):
if(min(0,sub(ms(mydatefield),sub(ms(NOW),315569259747))),0.8,1)
The pull request attached to this Jira adds the following function queries
(https://github.com/apache/lucene-solr/pull/49)
-gt(lhs, rhs) (returns 1 if lhs > rhs, 0 otherwise)
-lt(lhs, rhs) (returns 1 if lhs < rhs, 0 otherwise)
-gte
-lte
-eq
So instead of
if(min(0,sub(ms(mydatefield),sub(ms(NOW),315569259747))),0.8,1)
one could now write
if(lt(ms(mydatefield),315569259747,0.8,1)
(if mydatefield < 315569259747 then 0.8 else 1)
A bit more readable and less puzzling