Текстовый поиск
Интерфейсы Yandex Cloud ML SDK и API сервиса Yandex Search API позволяют выполнять запросы к поисковой базе Яндекса с получением ответа в синхронном или отложенном режиме. Поисковая выдача зависит от заданных в запросе параметров.
Выполнять запросы может пользователь или сервисный аккаунт, которому назначена роль search-api.webSearch.user.
В зависимости от заданных параметров запроса, результат возвращается в формате XML или HTML.
Примечание
Параметры и примеры поисковых запросов с использованием ML SDK см. в инструкциях по работе с Yandex Search API.
Формат тела API-запроса
Имена полей тела запроса различаются в REST API и gRPC API: в REST API используется CamelCase
{
"query": {
"searchType": "<тип_поиска>",
"queryText": "<текст_поискового_запроса>",
"familyMode": "<значение_настройки_фильтрации_результатов>",
"page": "<номер_страницы>",
"fixTypoMode": "<значение_настройки_режима_исправления_опечаток>"
},
"sortSpec": {
"sortMode": "<правило_сортировки_результатов>",
"sortOrder": "<порядок_сортировки_результатов>"
},
"groupSpec": {
"groupMode": "<метод_группировки_результатов>",
"groupsOnPage": "<количество_групп_на_странице>",
"docsInGroup": "<количество_документов_в_группе>"
},
"maxPassages": "<максимальное_количество_пассажей>",
"region": "<идентификатор_региона>",
"l10N": "<язык_уведомлений>",
"folderId": "<идентификатор_каталога>",
"responseFormat": "<формат_результата>",
"userAgent": "<заголовок_User-Agent>"
}
Где:
-
searchType— тип поиска. Возможные значения:SEARCH_TYPE_RU— для типа поискаРусский.SEARCH_TYPE_TR— для типа поискаТурецкий.SEARCH_TYPE_COM— для типа поискаМеждународный.SEARCH_TYPE_KK— для типа поискаКазахский.SEARCH_TYPE_BE– для типа поискаБелорусский.SEARCH_TYPE_UZ— для типа поискаУзбекский.
-
queryText— текст поискового запроса. Максимальная длина запроса — 400 символов. -
familyMode— фильтрация результатов. Необязательный параметр. Возможные значения:FAMILY_MODE_MODERATE— умеренный фильтр (значение по умолчанию). Из выдачи исключаются документы, относящиеся к категории «для взрослых», если запрос явно не направлен на поиск подобных ресурсов.FAMILY_MODE_NONE— фильтрация отключена. В выдачу включаются любые документы вне зависимости от содержимого.FAMILY_MODE_STRICT— семейный фильтр. Вне зависимости от поискового запроса из выдачи исключаются документы, относящиеся к категории «для взрослых», а также содержащие ненормативную лексику.
-
page— номер запрашиваемой страницы. Необязательный параметр. По умолчанию возвращается первая страница поисковой выдачи. Нумерация страниц начинается с нуля (первой странице соответствует значение0). -
fixTypoMode— значение настройки режима исправления опечаток в поисковом запросе. Необязательный параметр. Возможные значения:FIX_TYPO_MODE_ON— исправление опечаток включено (значение по умолчанию). Опечатки в тексте поискового запроса автоматически исправляются.FIX_TYPO_MODE_OFF— исправление опечаток отключено. Опечатки в тексте поискового запроса не исправляются, поиск выполняется в полном соответствии с переданным запросом.
-
sortMode— правило сортировки результатов поиска, которое определяет порядок выдачи результатов поиска. Необязательный параметр. Возможные значения:SORT_MODE_BY_RELEVANCE— сортировка по релевантности (значение по умолчанию).SORT_MODE_BY_TIME— сортировка по времени изменения документа.
-
sortOrder— порядок сортировки результатов поиска. Необязательный параметр. Возможные значения:SORT_ORDER_DESC— прямой порядок сортировки — от наиболее свежего к наиболее старому (значение по умолчанию).SORT_ORDER_ASC— обратный порядок сортировки — от наиболее старого к наиболее свежему.
-
groupMode— метод группировки результатов. Необязательный параметр. Возможные значения:GROUP_MODE_DEEP— группировка по доменам. Каждая группа содержит документы одного домена (значение по умолчанию).GROUP_MODE_FLAT— плоская группировка. Каждая группа содержит один документ.
-
groupsOnPage— максимальное количество групп, которые могут быть возвращены на одной странице результатов поиска. Необязательный параметр. Значение по умолчанию —20.При получении результата в формате XML допустимые значения — от
1до100, при получении результата в формате HTML — от5до50. -
docsInGroup— максимальное количество документов, которые могут быть возвращены в одной группе. Необязательный параметр. Допустимые значения — от1до3. Значение по умолчанию —1. -
maxPassages— максимальное количество пассажей, которое может быть использовано при формировании сниппета к документу. Необязательный параметр. Допустимые значения — от1до5. По умолчанию для каждого документа возвращается не более четырех пассажей с текстом запроса. -
region— идентификатор страны или региона поиска, который влияет на правила ранжирования документов. Поддерживается только для типов поискаРусскийиТурецкий.Список идентификаторов часто используемых стран и регионов см. в разделе Регионы поиска.
-
l10N— язык уведомлений поискового ответа. Влияет на текст, передаваемый в тегеfound-docs-humanи в сообщениях об ошибках. Необязательный параметр. Возможные значения зависят от выбранного типа поиска:- Тип поиска
Русский:LOCALIZATION_RU— русский язык (значение по умолчанию).LOCALIZATION_BE— белорусский язык.LOCALIZATION_KK— казахский язык.LOCALIZATION_UK— украинский язык.
- Тип поиска
Турецкий:LOCALIZATION_TR— турецкий язык.
- Тип поиска
Международный:LOCALIZATION_EN— английский язык.
- Тип поиска
-
folderId— идентификатор каталога пользователя или сервисного аккаунта, от имени которого вы будете выполнять запросы. -
responseFormat— формат получения поисковой выдачи. Необязательный параметр. Возможные значения:FORMAT_XML— результат запроса будет передан в формате XML (значение по умолчанию).FORMAT_HTML— результат запроса будет передан в формате HTML.
-
userAgent— строка, содержащая заголовок User-Agent . Параметр позволяет получить поисковую выдачу, ориентированную на конкретные устройство и браузер, в том числе мобильную выдачу. Необязательный параметр. Если параметр не задан, сервис возвращает стандартную выдачу по умолчанию.
Список поддерживаемых параметров:
Примечание
| Параметр | Поддерживается при XML-ответе | Поддерживается при HTML-ответе |
|---|---|---|
searchType |
||
queryText |
||
familyMode |
||
page |
||
fixTypoMode |
||
sortMode |
||
sortOrder |
||
groupMode |
||
groupsOnPage |
||
docsInGroup |
||
maxPassages |
||
region |
||
l10N |
||
folderId |
||
responseFormat |
||
userAgent |
{
"query": {
"search_type": "<тип_поиска>",
"query_text": "<текст_поискового_запроса>",
"family_mode": "<значение_настройки_фильтрации_результатов>",
"page": "<номер_страницы>",
"fix_typo_mode": "<значение_настройки_режима_исправления_опечаток>"
},
"sort_spec": {
"sort_mode": "<правило_сортировки_результатов>",
"sort_order": "<порядок_сортировки_результатов>"
},
"group_spec": {
"group_mode": "<метод_группировки_результатов>",
"groups_on_page": "<количество_групп_на_странице>",
"docs_in_group": "<количество_документов_в_группе>"
},
"max_passages": "<максимальное_количество_пассажей>",
"region": "<идентификатор_региона>",
"l10n": "<язык_уведомлений>",
"folder_id": "<идентификатор_каталога>",
"response_format": "<формат_результата>",
"user_agent": "<заголовок_User-Agent>"
}
Где:
-
search_type— тип поиска. Возможные значения:SEARCH_TYPE_RU— для типа поискаРусский.SEARCH_TYPE_TR— для типа поискаТурецкий.SEARCH_TYPE_COM— для типа поискаМеждународный.SEARCH_TYPE_KK— для типа поискаКазахский.SEARCH_TYPE_BE– для типа поискаБелорусский.SEARCH_TYPE_UZ— для типа поискаУзбекский.
-
query_text— текст поискового запроса. Максимальная длина запроса — 400 символов. -
family_mode— фильтрация результатов. Необязательный параметр. Возможные значения:FAMILY_MODE_MODERATE— умеренный фильтр (значение по умолчанию). Из выдачи исключаются документы, относящиеся к категории «для взрослых», если запрос явно не направлен на поиск подобных ресурсов.FAMILY_MODE_NONE— фильтрация отключена. В выдачу включаются любые документы вне зависимости от содержимого.FAMILY_MODE_STRICT— семейный фильтр. Вне зависимости от поискового запроса из выдачи исключаются документы, относящиеся к категории «для взрослых», а также содержащие ненормативную лексику.
-
page— номер запрашиваемой страницы. Необязательный параметр. По умолчанию возвращается первая страница поисковой выдачи. Нумерация страниц начинается с нуля, первой странице соответствует значение0. -
fix_typo_mode— значение настройки режима исправления опечаток в поисковом запросе. Необязательный параметр. Возможные значения:FIX_TYPO_MODE_ON— исправление опечаток включено (значение по умолчанию). Опечатки в тексте поискового запроса автоматически исправляются.FIX_TYPO_MODE_OFF— исправление опечаток отключено. Опечатки в тексте поискового запроса не исправляются, поиск выполняется в полном соответствии с переданным запросом.
-
sort_mode— правило сортировки результатов поиска, которое определяет порядок выдачи результатов поиска. Необязательный параметр. Возможные значения:SORT_MODE_BY_RELEVANCE— сортировка по релевантности (значение по умолчанию).SORT_MODE_BY_TIME— сортировка по времени изменения документа.
-
sort_order— порядок сортировки результатов поиска. Необязательный параметр. Возможные значения:SORT_ORDER_DESC— прямой порядок сортировки — от наиболее свежего к наиболее старому (значение по умолчанию).SORT_ORDER_ASC— обратный порядок сортировки — от наиболее старого к наиболее свежему.
-
group_mode— метод группировки результатов. Необязательный параметр. Возможные значения:GROUP_MODE_DEEP— группировка по доменам. Каждая группа содержит документы одного домена (значение по умолчанию).GROUP_MODE_FLAT— плоская группировка. Каждая группа содержит один документ.
-
groups_on_page— максимальное количество групп, которые могут быть возвращены на одной странице результатов поиска. Необязательный параметр. Значение по умолчанию —20.При получении результата в формате XML допустимые значения — от
1до100, при получении результата в формате HTML — от5до50. -
docs_in_group— максимальное количество документов, которые могут быть возвращены в одной группе. Необязательный параметр. Допустимые значения — от1до3. Значение по умолчанию —1. -
max_passages— максимальное количество пассажей, которое может быть использовано при формировании сниппета к документу. Необязательный параметр. Допустимые значения — от1до5. По умолчанию для каждого документа возвращается не более четырех пассажей с текстом запроса. -
region— идентификатор страны или региона поиска, который влияет на правила ранжирования документов. Поддерживается только для типов поискаРусскийиТурецкий.Список идентификаторов часто используемых стран и регионов см. в разделе Регионы поиска.
-
l10n— язык уведомлений поискового ответа. Влияет на текст, передаваемый в тегеfound-docs-humanи в сообщениях об ошибках. Необязательный параметр. Возможные значения зависят от выбранного типа поиска:- Тип поиска
Русский:LOCALIZATION_RU— русский язык (значение по умолчанию).LOCALIZATION_BE— белорусский язык.LOCALIZATION_KK— казахский язык.LOCALIZATION_UK— украинский язык.
- Тип поиска
Турецкий:LOCALIZATION_TR— турецкий язык.
- Тип поиска
Международный:LOCALIZATION_EN— английский язык.
- Тип поиска
-
folder_id— идентификатор каталога пользователя или сервисного аккаунта, от имени которого вы будете выполнять запросы. -
response_format— формат получения поисковой выдачи. Необязательный параметр. Возможные значения:FORMAT_XML— результат запроса будет передан в формате XML (значение по умолчанию).FORMAT_HTML— результат запроса будет передан в формате HTML.
-
user_agent— строка, содержащая заголовок User-Agent . Параметр позволяет получить поисковую выдачу, ориентированную на конкретные устройство и браузер, в том числе мобильную выдачу. Необязательный параметр. Если параметр не задан, сервис возвращает стандартную выдачу по умолчанию.
Список поддерживаемых параметров:
Примечание
| Параметр | Поддерживается при XML-ответе | Поддерживается при HTML-ответе |
|---|---|---|
search_type |
||
query_text |
||
family_mode |
||
page |
||
fix_typo_mode |
||
sort_mode |
||
sort_order |
||
group_mode |
||
groups_on_page |
||
docs_in_group |
||
max_passages |
||
region |
||
l10n |
||
folder_id |
||
response_format |
||
user_agent |
Синхронный режим поиска
В синхронном режиме запросы можно выполнять с помощью Yandex Cloud ML SDK, REST API и gRPC API.
В ответ на запрос в синхронном режиме сервис Yandex Search API в зависимости от заданных параметров запроса возвращает результат в формате XML или HTML. Результат возвращается в поле rawData ответа в кодировке Base64
Примечание
Ответ не содержит обязательных полей. Поле может отсутствовать в ответе, если не содержит значащей информации.
Отложенный (асинхронный) режим поиска
В отложенном режиме запросы можно выполнять с помощью Yandex Cloud ML SDK, REST API и gRPC API.
В ответ на отложенный запрос Yandex Search API возвращает объект Operation, содержащий информацию об операции: статус, идентификатор, время вызова и т.д.
Зная идентификатор объекта 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
Подробнее об объекте Operation и его полях см. в разделе Объект Operation.