Текстовый поиск
Текстовый поиск позволяет отправлять запросы к поисковой базе Яндекса и получать результаты в формате XML или HTML. Запросы можно выполнять через REST API, gRPC API или Yandex AI Studio SDK. Текстовый поиск доступен в синхронном и отложенном режиме.
Форматы результата поиска
В поисковом запросе вы можете указать, в каком формате хотите получить результат. По умолчанию результаты возвращаются в виде XML-файл в кодировке UTF-8, содержащий результаты поиска. XML-файл содержит только результаты поиска без дополнительных элементов поисковой выдачи. Если же вы хотите получить полный результат, соответствующий поисковой выдаче на главной странице Яндекс Поиска в режиме инкогнито, в параметрах запроса укажите формат HTML. Кроме документов, формат HTML также включает в себя рекламу, быстрые ответы и другие элементы, которые могут появиться в поисковой выдаче (пример).
Важно
Состав и содержание полей в ответе определяются поисковой системой. Yandex Search API отдает результаты выдачи в том виде, в котором получает их из поиска. При разработке приложений учитывайте, что все поля ответа не обязательны и могут отсутствовать, если не содержат данных. Содержание ответа может меняться без предварительного уведомления.
По каждому поисковому запросу возвращается не более 250 результатов. Количество результатов поиска на странице задаётся в параметре groupsOnPage. Например, если groupsOnPage равен 10, может быть сформировано не более 25 страниц, а если 50 — не более 5 страниц.
Параметры запроса
Имена полей тела запроса различаются в REST API и gRPC API: в REST API используется CamelCase, в gRPC API — snake_case.
|
Параметр REST API |
Параметр gRPC API |
XML |
HTML |
Описание |
|
|
|
|
|
Тип поиска. Возможные значения:
|
|
|
|
|
|
Текст поискового запроса. Максимальная длина — 400 символов. |
|
|
|
|
|
Фильтрация результатов. Необязательный параметр. Возможные значения:
|
|
|
|
|
|
Номер запрашиваемой страницы. Необязательный параметр. По умолчанию возвращается первая страница (значение |
|
|
|
|
|
Режим исправления опечаток в поисковом запросе. Необязательный параметр. Возможные значения:
|
|
|
|
|
|
Правило сортировки результатов поиска. Необязательный параметр. Возможные значения:
|
|
|
|
|
|
Порядок сортировки результатов. Необязательный параметр. Возможные значения:
|
|
|
|
|
|
Метод группировки результатов. Необязательный параметр. Возможные значения:
|
|
|
|
|
|
Максимальное количество групп на одной странице результатов. Необязательный параметр. Значение по умолчанию — |
|
|
|
|
|
Максимальное количество документов в одной группе. Необязательный параметр. Допустимые значения: от |
|
|
|
|
|
Максимальное количество пассажей для формирования сниппета к документу. Необязательный параметр. Допустимые значения: от |
|
|
|
|
|
Идентификатор страны или региона поиска, влияющий на правила ранжирования. Поддерживается только для типов поиска |
|
|
|
|
|
Язык уведомлений поискового ответа. Необязательный параметр. Возможные значения зависят от типа поиска:
|
|
|
|
|
|
Идентификатор каталога пользователя или сервисного аккаунта, от имени которого выполняются запросы. |
|
|
|
|
|
Формат получения поисковой выдачи. Необязательный параметр. Возможные значения:
|
|
|
|
|
|
Строка, содержащая заголовок User-Agent. Необязательный параметр. Позволяет получить выдачу, ориентированную на конкретные устройство и браузер, в том числе мобильную выдачу. |
|
|
|
|
|
Период поиска, в течение которого были опубликованы документы. Необязательный параметр. Возможные значения:
|
Синхронный режим поиска
В синхронном режиме запросы можно выполнять с помощью Yandex AI Studio SDK, REST API и gRPC API.
В ответ на запрос в синхронном режиме сервис Yandex Search API в зависимости от заданных параметров запроса возвращает результат в формате XML или HTML. Результат возвращается в поле rawData ответа в кодировке Base64.
Примечание
Ответ не содержит обязательных полей. Поле может отсутствовать в ответе, если не содержит значащей информации.
Отложенный (асинхронный) режим поиска
В отложенном режиме запросы можно выполнять с помощью Yandex AI Studio SDK, REST API и gRPC API.
В ответ на отложенный запрос Yandex Search API возвращает объект, содержащий информацию об операции: статус, идентификатор, время вызова и т.д. Зная идентификатор объекта Operation, вы можете отследить статус обработки запроса, а также получить результат по завершении обработки.
В зависимости от заданных параметров запроса результат вернется в поле response.rawData ответа в формате XML или HTML.
Формат ответа при асинхронном поиске
В ответ на отложенный запрос API Yandex Search API возвращает объект Operation следующего вида:
Примечание
Ответ не содержит обязательных полей. Поле может отсутствовать в ответе, если не содержит значащей информации.
{
"done": true,
"response": {
"@type": "type.googleapis.com/yandex.cloud.searchapi.v2.WebSearchResponse",
"rawData": "<тело_XML_ответа_в_кодировке_Base64>"
},
"id": "<идентификатор_объекта_operation>",
"description": "WEB search async",
"createdAt": "2024-10-03T08:07:07Z",
"createdBy": "<идентификатор_субъекта>",
"modifiedAt": "2024-10-03T08:12:09Z"
}
{
"id": "<идентификатор_объекта_operation>",
"description": "WEB search async",
"createdAt": "2024-10-03T08:07:07Z",
"createdBy": "<идентификатор_субъекта>",
"modifiedAt": "2024-10-03T08:12:09Z",
"done": true,
"response": {
"@type": "type.googleapis.com/yandex.cloud.searchapi.v2.WebSearchResponse",
"rawData": "<тело_XML_ответа_в_кодировке_Base64>"
}
}
Объект response внутри объекта Operation становится доступен только после того, как запрос был выполнен на стороне Yandex Search API, а значение поля done (статус операции) изменилось на true.
Значение поля rawData объекта response в зависимости от параметров запроса содержит XML или HTML ответ в кодировке Base64.
Примеры использования
- Выполнение текстовых поисковых запросов в синхронном режиме
- Выполнение текстовых поисковых запросов в отложенном режиме
- Текстовый поиск с учетом геопозиции
- Получение мобильной выдачи
Полезные ссылки
Каталог — пространство, в котором содержатся ресурсы Yandex Cloud. Для аутентификации в AI Studio необходим идентификатор каталога. Чтобы его получить, в интерфейсе AI Studio наведите указатель на название каталога, расположенное в верхней части экрана, и нажмите . Идентификатор будет скопирован в буфер обмена.
