I've been using a simple variation of the boost function given in the examples used to boost more recent documents:
recip(rord(creationDate),1,1000,1000)^1.3 While it seems to work pretty well, I've realised that this may not be quite as effective as i had hoped given that the calculation is based on the ordinal of the field value rather than the value of the field itself. In cases where the field type is 'date' and the actual field values are not distributed evenly across all documents in the index, the value returned by rord() is not going to give a true reflection of document age. For example, using Hoss' new date faceting feature, I can see that the rate at which documents have been added to the index I'm maintaining has been slowly but steadily increasing over the past few months, and I fear this fact will skew the boost value calculated by the function listed above. There doesn't seem to be currently any way of performing date arithmetic or convert a date field into an integer (seconds since epoch?), ideally I'd like to be able to do something like: recip(intval(parseDate('NOW')-parseDate(creationDate)),1,1000,1000)^1.3 so that the function calculates the boost based on the actual document age, rather than the relative age. Does anybody have any thoughts or comments on this approach? cheers, Piete