Перейти к основному содержимому
Версия: 5.0

Исключения

Исключения в алгоритмах нужны для того, чтобы обеспечить гибкость в выборе данных для расчетов. Это позволяет исключать или включать определенные значения в процессе выполнения алгоритмов. В зависимости от алгоритма, поддерживаются два типа исключений: черный список (blacklist) и белый список (whitelist).

Черный список (Blacklist)

Черный список используется для исключения определенных данных из расчетов алгоритма. Если значение соответствует настройкам черного списка, оно не будет участвовать в расчетах.

Черный список применяется в различных алгоритмах и позволяет управлять исключением данных на основе:

  • идентификаторов UBA объектов
  • полей профилирования
  • периодов

Использование в разных алгоритмах

АлгоритмИсключаемые элементы
СловарьИдентификаторы UBA объектов, поля профилирования
СтатистикаТолько идентификаторы UBA объектов
ЧастотаИдентификаторы UBA объектов, поля профилирования, периоды
ХронологияИдентификаторы UBA объектов, поля профилирования, периоды

Паттерны

Для идентификаторов UBA объектов и дополнительных полей допускается использование паттернов с применением одного символа *.

Примеры использования паттернов:

  • Evgeniy* - все значения, начинающиеся на Evgeniy
  • *Garcia - все значения, заканчивающиеся на Garcia
  • * - любое значение

Белый список (Whitelist)

примечание

Белый список применяется только для алгоритма Словарь.

Используется для обязательного включения определенных данных в расчет.

примечание

В белом списке поддерживаются паттерны только для идентификаторов UBA объектов.

Структура индексов

И для черного списка, и для белого списка используется следующая структура индекса:

  • _meta.id - идентификатор записи
  • _meta.created - дата и время создания записи
  • _meta.updated - дата и время последнего обновления записи
  • algorithm_id - идентификатор алгоритма, к которому относится настройка исключений
  • object_id - массив идентификаторов UBA объектов, к которым применяются исключения
  • exclude - массив условий для исключения записи на основе полей, где field - название поля, а value - его значение
  • ignored_weekend - флаг, указывающий, нужно ли игнорировать выходные при расчетах
  • periods - массив периодов времени. Все записи, соответствующие указанным периодам, не участвуют в расчетах алгоритма

Каждый элемент периода имеет формат <число><единица времени>, где:

  • Число - определяет порядковую позицию на временной оси
  • Единица времени - постфикс:
    • y - год
    • M - месяц
    • d - день месяца
    • dw - день недели
    • h - час
    • m - минута
    • s - секунда

Примеры значений: 1h - первый час дня, 2M - второй месяц года, 15d - пятнадцатый день месяца.

Пример json-объекта индекса
{
"ignored_weekend": false,
"_meta": {
"created": "2025-04-08T12:23:08.927Z",
"id": "4705d342e4a12262fae710eba12ee8d28df622b9",
"updated": "2025-04-08T12:23:08.927Z"
},
"periods": ["1h","2h","3h","2M","15d"],
"exclude": [
{
"field": "status",
"value": "success*"
},
{
"field": "record",
"value": "*"
}
],
"algorithm_id": "0xGgo5UBPL4WRSl6AKeD",
"object_id": ["Evgeniy*", "AnthonyGarcia", "BarbaraBennett"]
}