Updated How Search in 1.6 works (markdown)

Chris Li 2016-06-26 07:34:55 -04:00
parent 5fbc4f59f2
commit 1026f3cc1f

@ -32,11 +32,12 @@ If xapian give a search result 100% probability value, what does it mean? Well,
A lot of times, xapian results congregate on the high end of the probability range. In other words, you get a lot of articles with 100%, 99%, etc., but not a lot with 75%, 66%, 45% and things like that. To better differentiate them, we need a non-liner map from probability to a boost/penalty factor. A lot of times, xapian results congregate on the high end of the probability range. In other words, you get a lot of articles with 100%, 99%, etc., but not a lot with 75%, 66%, 45% and things like that. To better differentiate them, we need a non-liner map from probability to a boost/penalty factor.
In 1.6, I use ln(n - m * prob) as this boost factor, the default value is derived from: In 1.6, I use f(x) = ln(n - m * prob) as this boost factor, the default value is derived from:
- ln(n - m * 1.00) = 0.1 - ln(n - m * 1.00) = 0.1
- ln(n - m * 0.75) = 1.0 - ln(n - m * 0.75) = 1.0
Solve for m & n, you get m = 6.4524 and n = 7.5576, [see plot here](http://www.wolframalpha.com/input/?i=ln(7.5576-6.4524+*+x)) Solve for m & n, you get m = 6.4524 and n = 7.5576, [see plot here](http://www.wolframalpha.com/input/?i=ln(7.5576-6.4524+*+x)).
The first order derivative of f(x) is f'(x) = 1 / (x - 1.17129). f(x) decrease faster when x = 1, slower when x = 0.