Hi,

You're right, it's illegal syntax to use other functions in the ms function, 
which is a pity indeed.

However, you reduce the score by 50% for each year. Therefore paging through 
the results shouldn't make that much of a difference because the difference in 
score with NOW+2 minutes has a negligable impact on the total score.

I had some thoughts on this issue as well but i decided the impact was too 
little to bother about.

Cheers,

> I'm trying to use
> http://wiki.apache.org/solr/SolrRelevancyFAQ#How_can_I_boost_the_score_of_n
> ewer_documents as
> a bf parameter to my dismax handler.  The problem is, the value of NOW can
> cause documents in a similar range (date value within a few seconds of each
> other) to sometimes round to be equal, and sometimes not, changing their
> sort order (when equal, falling back to a secondary sort).  This, in turn,
> screws up paging.
> 
> The problem is that score is rounded to a lower level of precision than
> what the suggested formula produces as a difference between two values
> within seconds of each other.  It seems to me if I could round the value
> to minutes or hours, where the difference will be large enough to not be
> rounded-out, then I wouldn't have problems with order changing on me.  But
> it's not legal syntax to specify something like:
> recip(ms(NOW,manufacturedate_dt/HOUR),3.16e-11,1,1)
> 
> Is this a problem anyone has faced and solved?  Anyone have suggested
> solutions, other than indexing a copy of the date field that's rounded to
> the hour?
> 
> --
> Stephen Duncan Jr
> www.stephenduncanjr.com

Reply via email to