Skip to main content
filter_conditions — это единственный опциональный массив в теле запроса. Каждая запись переключает один мультизначный фильтр со стандартного поведения OR («совпадает хоть один») на AND («совпадают все»), либо наоборот. Фильтры, не перечисленные в массиве, сохраняют своё поведение по умолчанию.

Схема

key и operator обязательны в каждой записи. Запись только с operator молча игнорируется — глобального переопределения не существует.

Почему это важно

Оператором по умолчанию является OR, потому что большинство сценариев поиска потенциальных клиентов нацелены на широкий охват: «люди в любой из этих стран», «компании, отмеченные любым из этих тегов вертикали». Для высокоточного таргетинга — «использует все из Salesforce + HubSpot + Marketo» — нужен AND. Цена ошибки:
  • Хотели AND, получили OR: ответ переполнен — вы видите компании, соответствующие только одному тегу, а не всему стеку. Легко заметить, страдает качество результатов.
  • Хотели OR, получили AND: ответ недополучает результаты — обычно возвращает почти ноль строк на мультизначных фильтрах AND, потому что реальные массивы редко содержат каждое запрошенное значение. Легко заметить, выглядит как сломанный запрос.
Под капотом движок компилирует выбранный вами оператор в нативный оператор массива Postgres: && (пересечение) для OR, @> (содержит) для AND. Оба индексируемы, поэтому разница в стоимости — в размере результата, а не в задержке запроса.

Поддерживаемые ключи

Точный набор ключей зависит от вызываемого эндпоинта:
Ключи выше отражают массивы enum в спецификации OpenAPI (company_filter_conditions, people_filter_conditions, ads_filter_conditions). Отправка неподдерживаемого ключа для эндпоинта молча игнорируется.

Рецепты

Цель: компании, использующие все из Python, PostgreSQL и Kubernetes — не только одну.
Уберите запись filter_conditions, чтобы расширить поиск до любой из трёх.

Распространённые ошибки

Глобального переключателя «оператор по умолчанию» не существует. Каждая запись должна называть конкретный фильтр:
Записи — это независимые переопределения для каждого ключа, они не связываются в цепочку. Указание одновременно technologies и verticals не создаёт булево выражение между ними; каждая просто задаёт оператор своего собственного массива.Комбинация между ключами фильтров всегда AND (каждый фильтр должен совпасть). Вы не можете объединить через OR два разных измерения фильтрации с помощью filter_conditions. Если вам нужен настоящий поиск OR-разных-фильтров, выполните два запроса и объедините результаты на стороне клиента.
AND — это column @> ARRAY[…] — должно присутствовать каждое значение. При 8+ значениях вы почти всегда получаете ноль строк, потому что реальная разметка тегами разрежена. Держите массивы с переопределением AND в пределах 2-4 значений; используйте OR для исследовательской фильтрации или фильтрации на уровне категорий.
На /people/search имя в people-API — company_places / company_locations. Но внутри filter_conditions[].key нужно использовать имя движкаplaces, locations. Переименование происходит внутри системы до того, как учитывается filter_conditions.
Полная таблица переименования на странице People + Company Filters.
Если сомневаетесь, сначала опустите filter_conditions и сверьте количество результатов с ожиданиями. Добавляйте переопределения только для тех фильтров, где значение по умолчанию не соответствует вашему намерению — это делает тело запроса компактнее и облегчает отладку.

См. также

Filters Overview

Ментальная модель — начните отсюда, если filter_conditions для вас в новинку.

People + Company Filters

Как встроить фильтры по компании в /people/search, включая переименование ключей.

Справочник Company Search

Полная схема запроса для /companies/search (включает company_filter_conditions).

Справочник People Search

Полная схема запроса для /people/search (включает people_filter_conditions).
Последнее изменение 4 сентября 2026 г.