]> source.dussan.org Git - rspamd.git/commitdiff
[Minor] Discriminate infrequent common tokens as well 2176/head
authorAlexander Moisseev <moiseev@mezonplus.ru>
Mon, 16 Apr 2018 08:04:14 +0000 (11:04 +0300)
committerAlexander Moisseev <moiseev@mezonplus.ru>
Mon, 16 Apr 2018 08:04:14 +0000 (11:04 +0300)
src/plugins/lua/bayes_expiry.lua

index ea7ae1a9fad19159a1397e084870cc351619b20a..aeedf5f17397f887b0849d9589547efcdad75dc8 100644 (file)
@@ -201,7 +201,13 @@ local expiry_script = [[
     local threshold = mean
     local total = spam + ham
 
-    if total >= threshold and total > 0 then
+    if total == 0 or math.abs(ham - spam) <= total * ${epsilon_common} then
+      common = common + 1
+      if ttl > ${common_ttl} then
+        discriminated = discriminated + 1
+        redis.call('EXPIRE', key, ${common_ttl})
+      end
+    elseif total >= threshold and total > 0 then
       if ham / total > ${significant_factor} or spam / total > ${significant_factor} then
         significant = significant + 1
         if ${lazy} or expire < 0 then
@@ -214,12 +220,6 @@ local expiry_script = [[
           extended = extended + 1
         end
       end
-    elseif total == 0 or math.abs(ham - spam) <= total * ${epsilon_common} then
-      common = common + 1
-      if ttl > ${common_ttl} then
-        discriminated = discriminated + 1
-        redis.call('EXPIRE', key, ${common_ttl})
-      end
     else
       infrequent = infrequent + 1
       if expire < 0 then