Как просматривать результаты постранично в API Поиска Bing

Предупреждение

30 октября 2020 г. API Поиск Bing перенесены из служб ИИ Azure в Поиск Bing Services. Эта документация приводится только для справки. Обновленную информацию см. в документации по API Поиска Bing. Инструкции по созданию ресурсов Azure для Поиска Bing приведены в статье Создание ресурса для Поиска Bing с помощью Azure Marketplace.

При отправке вызова в API Поиска в Интернете, Поиска изображений, Поиска новостей, Поиска видео и Пользовательского поиска Bing служба возвращает подмножество общего количества результатов, которые могут быть актуальны для запроса. Чтобы получить предполагаемое общее количество доступных результатов, необходимо обратиться к полю totalEstimatedMatches объекта ответа.

Пример:

{
    "_type" : "SearchResponse",
    "webPages" : {
        "webSearchUrl" : "https:\/\/www.bing.com\/cr?IG=3A43CA...",
        "totalEstimatedMatches" : 262000,
        "value" : [...]
    }
}  

Разбиение на страницы результатов поиска

Чтобы разбить на страницы доступные результаты, используйте при отправке запроса параметры count и offset.

Примечание

  • Разбиение на страницы в API Поиска видео, Поиска изображений и Поиска новостей Bing применяется только к основным операциям поиска видео (/video/search), новостей (/news/search) и изображений (/image/search). Разбиение на страницы популярных тем и категорий не поддерживается.
  • Поле TotalEstimatedMatches содержит приблизительное общее число результатов поиска для текущего запроса. При установке значений параметров count и offset это число может измениться.
Параметр Описание
count Задает количество результатов, возвращаемых в ответе. Обратите внимание, что значение по умолчанию count и максимальное количество результатов, которые можно запросить, зависят от API. Эти значения можно найти в справочной документации в разделе Дальнейшие действия.
offset Задает количество пропускаемых результатов. Значение offset начинается с нуля и должно быть меньше (totalEstimatedMatches - count).

Например, если вы хотите отображать 15 результатов на странице, необходимо задать для параметра count значение 15, а для параметра offset — значение 0, чтобы получить первую страницу результатов. Для каждого последующего вызова API значение параметра offset увеличивается на 15. В следующем примере запрашиваются 15 веб-страниц с начальным смещением в 45 результатов.

GET https://api.cognitive.microsoft.com/bing/v7.0/search?q=sailing+dinghies&count=15&offset=45&mkt=en-us HTTP/1.1  
Ocp-Apim-Subscription-Key: 123456789ABCDE  
Host: api.cognitive.microsoft.com  

Если используется значение по умолчанию count, в вызовах API необходимо указать только параметр запроса offset.

GET https://api.cognitive.microsoft.com/bing/v7.0/search?q=sailing+dinghies&offset=45&mkt=en-us HTTP/1.1  
Ocp-Apim-Subscription-Key: 123456789ABCDE  
Host: api.cognitive.microsoft.com  

При использовании API Поиска видео и Поиска изображений Bing можно использовать значение nextOffset, чтобы избежать дублирования результатов поиска. Получите это значение из объектов ответов Images или Videos и используйте его в запросах с параметром offset.

Примечание

API Поиска в Интернете Bing возвращает результаты поиска, которые включают в себя веб-страницы, изображения, видео и новости. При просмотре результатов поиска в API Поиска в Интернете Bing постранично отображаются только веб-страницы, а не другие типы ответов, например изображения или новости. Результаты поиска в объектах WebPage могут содержать результаты, которые также отображаются в других типах ответов.

Если вы используете параметр запроса responseFilter без указания уточняющих значений фильтра, не используйте параметры count и offset.

Дальнейшие действия