Фильтры и правила отбора
Фильтр убирает ненужные строки из результата. В отличие от преобразования, который меняет значение, фильтр решает, оставить строку или нет.
Если в файле есть товары без остатка, а нужны только продаваемые, — это задача фильтра, а не преобразования.
Как задаются фильтры
Фильтры хранятся в профиле сопоставления в виде JSON-массива. Каждый элемент описывает одно условие:
[
{ "field": "stock", "operator": "gt", "value": 0 }
]
Строка остаётся в результате, только если выполняются все условия (логическое «И»).
Операторы
| Оператор | Что проверяет | Пример значения |
|---|---|---|
eq | Равно | Premium |
neq | Не равно | Discontinued |
gt | Больше | 0 |
gte | Больше или равно | 100 |
lt | Меньше | 1000 |
lte | Меньше или равно | 1000 |
in | Входит в список | ["A", "B"] |
not_in | Не входит в список | ["test"] |
null | Значение пустое | — |
not_null | Значение заполнено | — |
contains | Содержит подстроку | Bosch |
not_contains | Не содержит подстроку | test |
starts_with | Начинается с | БР- |
ends_with | Закрывается на | -XL |
regex | Совпадает с регулярным выражением | ^[A-Z]{3}-\d+$ |
between | Входит в диапазон | [10, 100] |
Примеры
Только товары в наличии:
[{ "field": "stock", "operator": "gt", "value": 0 }]
Цена в диапазоне от 100 до 100 000:
[{ "field": "price", "operator": "between", "value": [100, 100000] }]
Один из двух статусов:
[{ "field": "availability", "operator": "in", "value": ["есть", "в наличии"] }]
Исключить тестовые позиции:
[{ "field": "name", "operator": "not_contains", "value": "тест" }]
Что происходит с отфильтрованными строками
Отфильтрованные строки не попадают в результат и в выгрузку. При этом они учитываются в квоте строк: строки резервируются до начала обработки.
Где настроить
Фильтры задаются в профиле сопоставления — поле «Фильтр», формат JSON. Сохраняются вместе с профилем и применяются при каждой обработке, включая файлы из фида поставщика.
Связанные статьи
- Обзор преобразований — что меняет значения
- Коэффициенты — числовые операции
- Сохранённые маппинги — где хранятся фильтры