diff options
Diffstat (limited to 'myisam/ft_boolean_search.c')
-rw-r--r-- | myisam/ft_boolean_search.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/myisam/ft_boolean_search.c b/myisam/ft_boolean_search.c index 3294965b29c..cd0d0d9d052 100644 --- a/myisam/ft_boolean_search.c +++ b/myisam/ft_boolean_search.c @@ -322,7 +322,8 @@ void _ftb_climb_the_tree(FTB *ftb, FTB_WORD *ftbw, FT_SEG_ITERATOR *ftsi_orig) break; if (yn & FTB_FLAG_YES) { - ftbe->cur_weight += weight / ftbe->ythresh; + weight /= ftbe->ythresh; + ftbe->cur_weight += weight; if (++ftbe->yesses == ythresh) { yn=ftbe->flags; @@ -360,7 +361,8 @@ void _ftb_climb_the_tree(FTB *ftb, FTB_WORD *ftbw, FT_SEG_ITERATOR *ftsi_orig) } else { - ftbe->cur_weight += ftbe->ythresh ? weight/3 : weight; + if (ftbe->ythresh) weight/=3; + ftbe->cur_weight += weight; if (ftbe->yesses < ythresh) break; yn= (ftbe->yesses++ == ythresh) ? ftbe->flags : 0 ; |