On Thursday, March 17, 2016 11:21 PM, u...@odoko.co.uk wrote:
> 
> If you use additive boosting, when you add a boost to a search with one term, 
> (e.g. between 0 and 1) 
> you get a different effect compared to when you add the same boost to a 
> search with four terms (e.g. between 0 and 4).

Wouldn't that be solvable by multiplying my boost with the max value? Ie in the 
search with one term, my boost is multiplied by 1, and in the case with four 
terms it is multiplied by four. Ie some kind of normalization should solve 
this, right?


> If, for example, you want to add a recency boost, say with recip, where the 
> boost value is between 0 and 1, 
> then use score*(1+boost). This way, a boost of 0 has no effect on the score, 
> whereas a boost of 1 doubles the score. 
> If you use plain multiplicative here, a boost of 0 wipes out the score 
> entirely, which can have nasty effects (it has, at least, for me).

I understand what you mean, but can you still call that a multiplicative 
function? Because score*(1+boost) is the same as score + score*boost. Ie, you 
basically take your boost, multiply it by the original score, and then *add* 
the original score.

But sure, if this technically is still called a multiplicative (which I guess 
it is, in a way, since you can achieve this using the boost function in 
edismax, which is declared as multiplicative).

/Jimi

Reply via email to