Dates, date boosting, and NOW by Erick Erickson
From the post:
More NOW evil
Prompted by a subtle issue a client raised, I was thinking about date boosting. According to the Wiki, a good way to bost by date is by something like the following:
http://localhost:8983/solr/select?q={!boost
b=recip(ms(NOW,manufacturedate_dt),3.16e-11,1,1)}ipod(see: date boosting link). And this works well, no question.
However, there’s a subtle issue when paging. NOW evaluates to the current time, and every subsequent request will have a different value for NOW. This blog post about the effects of this on filter queries provides some useful background.
If you like really subtle Solr issues then you will love this post. It doesn’t really have a happy ending per se but you will pick up some experience at deep analysis.
Erick’s concluding advice that users rarely go to the second page of search results, making the problem here an edge case, makes me uneasy.
I am sure Erick is right about the numbers, but I remain uneasy. I would have to monitor users for occurrences of the “edge case” before I would be confident enough to simply ignore it.