Yandex Search - Поиск через Yandex API
Описание
Заголовок раздела «Описание»Процессор Yandex Search выполняет веб-поиск через Yandex Cloud Search API и создает структурированные DataPackets для каждого найденного документа. Поддерживает множественные поисковые запросы, мульти-региональный поиск, пагинацию и гибкие режимы дедупликации результатов.
Процессор может быть первым в pipeline — ему не требуются входные данные от других процессоров. При наличии входных процессоров поддерживает подстановку переменных в поисковых запросах.
Ключевые возможности:
- Множественные запросы — несколько поисковых строк обрабатываются последовательно.
- Мульти-региональный поиск — один запрос может выполняться по нескольким регионам Yandex.
- Пагинация — получение нескольких страниц выдачи для каждого запроса.
- Дедупликация — три режима сохранения: все результаты, уникальные URL или уникальные домены.
- Батчевое создание пакетов — эффективное создание большого количества DataPackets.
Сценарии использования
Заголовок раздела «Сценарии использования»- Сбор URL для парсинга — получение списка страниц по поисковому запросу для последующей обработки через
site-crawl. - Мониторинг упоминаний — поиск упоминаний компании, бренда или продукта в интернете.
- Конкурентный анализ — сбор данных о конкурентах из поисковой выдачи.
- Генерация лидов — поиск компаний определенной отрасли в конкретном регионе.
- Первый шаг pipeline — начальная точка для сложных цепочек обработки данных.
Конфигурация
Заголовок раздела «Конфигурация»| Параметр | Тип | Обязательный | По умолчанию | Описание |
|---|---|---|---|---|
searchQueries | string[] | Да | — | Массив поисковых строк. Каждая строка поддерживает переменные {{processorName.field}}. |
searchType | string | Нет | SEARCH_TYPE_RU | Тип поиска (см. таблицу ниже). |
regions | number[] | Нет | [225] | Массив ID регионов Yandex (225 = Россия). |
maxPages | number | Нет | 1 | Количество страниц выдачи для каждого запроса (1-100). |
maxPackets | number | Нет | 1 | Максимальное количество входных пакетов для обработки (при наличии входных процессоров). |
saveMode | string | Нет | unique_urls | Режим сохранения результатов (см. таблицу ниже). |
batchSize | number | Нет | 100 | Размер батча при создании DataPackets. Влияет на скорость записи в базу данных. |
debugMode | boolean | Нет | false | Подробное логирование конфигурации и промежуточных данных. |
Типы поиска (searchType)
Заголовок раздела «Типы поиска (searchType)»| Значение | Описание |
|---|---|
SEARCH_TYPE_RU | Русскоязычный поиск (по умолчанию) |
SEARCH_TYPE_COM | Международный (англоязычный) поиск |
SEARCH_TYPE_TR | Поиск на турецком языке |
SEARCH_TYPE_KK | Поиск на казахском языке |
SEARCH_TYPE_BE | Поиск на белорусском языке |
SEARCH_TYPE_UZ | Поиск на узбекском языке |
Режимы сохранения (saveMode)
Заголовок раздела «Режимы сохранения (saveMode)»| Значение | Описание |
|---|---|
save_all | Сохранять все найденные результаты, включая дубликаты URL и доменов. |
unique_urls | Не сохранять результаты с повторяющимися URL (по умолчанию). Учитываются URL, уже сохраненные в предыдущих запусках. |
unique_domains | Не сохранять результаты с повторяющимися доменами. Из каждого домена сохраняется только первый найденный URL. |
Популярные регионы
Заголовок раздела «Популярные регионы»| ID | Регион |
|---|---|
| 225 | Россия (вся страна) |
| 1 | Москва и область |
| 2 | Санкт-Петербург и область |
| 11070 | Новосибирск |
| 54 | Екатеринбург |
| 43 | Казань |
Входные данные
Заголовок раздела «Входные данные»Процессор может работать без входных данных (как первый в pipeline). При наличии входных процессоров данные из их пакетов используются для подстановки переменных в поисковых запросах.
Подстановка работает через систему chainData: для первого необработанного пакета строится цепочка данных от всех предшествующих процессоров, и переменные в searchQueries заменяются соответствующими значениями.
Выходные данные
Заголовок раздела «Выходные данные»Для каждого найденного документа в поисковой выдаче создается отдельный DataPacket:
| Поле | Тип | Описание |
|---|---|---|
docId | string | Уникальный идентификатор документа в Yandex |
url | string | URL найденной страницы |
domain | string | Домен сайта |
title | string | Заголовок страницы |
passages | string[] | Массив текстовых фрагментов (сниппетов). Включает headline (если есть) и passage из выдачи. |
mime-type | string | MIME-тип документа (например, text/html) |
saved-copy-url | string | URL сохраненной копии в кеше Yandex |
modtime | string | Дата последней модификации документа (если доступна) |
Метаданные пакета:
sourceQuery: исходный поисковый запрос (до подстановки переменных)pageNumber: номер страницы выдачиsearchType: тип поискаregion: ID регионаdocumentType:"search-result"или"stub-result"(заглушка)
Количество создаваемых пакетов
Заголовок раздела «Количество создаваемых пакетов»Общее количество пакетов зависит от формулы:
Пакеты = Кол-во регионов * Кол-во запросов * Кол-во страниц * ~10 результатов на страницуПример: 1 регион, 3 запроса, 5 страниц = до 150 DataPackets (при ~10 результатах на страницу).
Стоимость
Заголовок раздела «Стоимость»| Операция | Код | Описание |
|---|---|---|
| Yandex API вызов | yandex | Списывается за каждый успешный запрос к Yandex Search API. Один запрос = один регион + один поисковый запрос + одна страница. |
Стоимость в токенах определяется таблицей bg_prices. При ошибке API (timeout, rate limit) токены не списываются.
Оценка стоимости
Заголовок раздела «Оценка стоимости»Формула для оценки количества API вызовов:
API вызовы = Кол-во регионов * Кол-во запросов * maxPagesПример: 2 региона, 5 запросов, 3 страницы = 30 API вызовов.
Примеры
Заголовок раздела «Примеры»Поиск компаний в конкретной нише
Заголовок раздела «Поиск компаний в конкретной нише»searchQueries: - "производство пластиковых окон Москва" - "оконный завод Московская область"searchType: SEARCH_TYPE_RUregions: [1]maxPages: 5saveMode: unique_domainsbatchSize: 50Результат: до 100 уникальных доменов компаний-производителей окон в Москве.
Мульти-региональный поиск
Заголовок раздела «Мульти-региональный поиск»searchQueries: - "IT-компании разработка ПО"searchType: SEARCH_TYPE_RUregions: [1, 2, 54, 43]maxPages: 3saveMode: unique_domainsПоиск IT-компаний в Москве, Санкт-Петербурге, Екатеринбурге и Казани.
Поиск с переменными из предыдущего процессора
Заголовок раздела «Поиск с переменными из предыдущего процессора»searchQueries: - "{{data-source.companyName}} ИНН контакты" - "{{data-source.companyName}} сайт"searchType: SEARCH_TYPE_RUregions: [225]maxPages: 2maxPackets: 50saveMode: unique_urlsСбор URL для последующего парсинга
Заголовок раздела «Сбор URL для последующего парсинга»searchQueries: - "строительные компании тендеры site:zakupki.gov.ru"searchType: SEARCH_TYPE_RUregions: [225]maxPages: 10saveMode: save_allbatchSize: 200Связанные процессоры
Заголовок раздела «Связанные процессоры»| Процессор | Связь | Описание |
|---|---|---|
site-crawl | Последующий | Парсинг найденных URL для извлечения содержимого страниц |
gpt-filter | Последующий | Анализ и фильтрация результатов поиска через GPT (классификация, извлечение данных) |
inn-search | Последующий | Поиск ИНН по найденным доменам и названиям компаний |
ai-search | Альтернатива | AI-поиск с встроенным анализом (проще, но менее гибко) |