Я на 99,99% уверен, что этот набор правил работал нормально, но начал выдавать ошибки, если метаправило в конце раскомментировано. Похоже, что это связано с движком, так как это происходит во многих местах.
В результате появляется следующая ошибка:
Sep 10 09:42:41.113 [3984] warn: config: Strange rule token: 0.01039
Sep 10 09:42:42.031 [3984] warn: lint: 1 issues detected, please rerun with debug enabled for more information
Кто-нибудь может мне сказать, почему?
body DG_CHINAREGSCAM2a /we.received.an.application/i
describe DG_CHINAREGSCAM2a Words commonly used by China Scammers
score DG_CHINAREGSCAM2a 0.01040
body DG_CHINAREGSCAM2b /their internet keyword/i
describe DG_CHINAREGSCAM2b Words commonly used by China Scammers
score DG_CHINAREGSCAM2b 0.01041
body DG_CHINAREGSCAM2c /China(.*)domain name/i
describe DG_CHINAREGSCAM2c Words commonly used by China Scammers
score DG_CHINAREGSCAM2c 0.01042
body DG_CHINAREGSCAM2d /necessary.to.send.email.to.you/i
describe DG_CHINAREGSCAM2d Words commonly used by China Scammers
score DG_CHINAREGSCAM2d 0.01043
body DG_CHINAREGSCAM2e /company is associated with your company or not/i
describe DG_CHINAREGSCAM2e Words commonly used by China Scammers
score DG_CHINAREGSCAM2e 0.01044
body DG_CHINAREGSCAM2f /conflicts.with.your.company/i
describe DG_CHINAREGSCAM2f Words commonly used by China Scammers
score DG_CHINAREGSCAM2f 0.01045
#meta DG_CHINAREGSCAM2 (( DG_CHINAREGSCAM2a + DG_CHINAREGSCAM2b + DG_CHINAREGSCAM2c + DG_CHINAREGSCAM2d + DG_CHINAREGSCAM2e + DG_CHINAREGSCAM2f) > 0.01039 )
#score DG_CHINAREGSCAM2 3
#describe DG_CHINAREGSCAM2 Email identified as China Registry Scam
В этом конкретном случае я решил эту проблему с правилом. изменение модели + / score на использование "||" для соответствия любым правилам, но это не сработает во всех случаях.
Есть ли исправление для этого или очевидная причина, которую я не вижу?
Линтер предлагает использовать в арифметических метаправилах кратные, а не дроби.
Я считаю, что ваши правила в любом случае работают ... просто нет необходимости использовать что-либо, кроме простых целых чисел, и потенциально подразумевает ошибку при написании правила, см. ниже. Укажите количество совпадений, которые вы хотите выполнить (например, 2), и примените веса путем умножения, если необходимо, например:
meta DG_CHINAREGSCAM2 (( 7*DG_CHINAREGSCAM2a + 7*DG_CHINAREGSCAM2b + 7*DG_CHINAREGSCAM2c + 4*DG_CHINAREGSCAM2d + 4*DG_CHINAREGSCAM2e + 3*DG_CHINAREGSCAM2f) > 10 )
Это может выглядеть как его арифметика на прилагаемой оценке
других тестов - это не так. . Каждая ссылка на другие тесты считается кратной 1:
мета SYMBOLIC_TEST_NAME логическое арифметическое выражение
Может также определять арифметическое выражение в терминах других тестов, со значением "0" при проверке на попадание и при проверке на попадание ненулевое значение. Ценность мета-теста попадания в том, арифметическое выражение. Значение теста проверки попадания - это то, что возвращено по его методу. Значение заголовка обращения, body, rawbody, uri,или полный тест с флагом "несколько" - это количество раз тестовое попадание. Значение любого другого типа проверки попадания - «1».