This module may be a solution https://www.drupal.org/project/search_api_sorts Otherwise using you method above - According to this post http://www.metaltoad.com/blog/date-boosting-solr-drupal-search-results then you need to add an extra [] $call_args['params']['freshness'][] = 'recip(abs(ms(NOW/HOUR,ds_changed)),3.16e-11,10,1)'; However after testing I still can get the result I want. For example the value 3.16e-11,10 ; as far as I understand it means a year of milliseconds that gives a score of 10 inside that time span. and then decrease after. For testing I used call_args['params']['qf'][] = 'recip(abs(ms(NOW/HOUR,ds_changed)),86400000,21,1)'; which should give Posts added/changed on the day a score of 21 and then decreases daily. Testing with 3 identical listings. And only title set at a boost rate over 1. I cannot get the articles to listing in date. order. Have i missed something obvious.