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