Как просматривать результаты постранично в 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
.