Bing Search API から結果をページングする方法
警告
2020 年 10 月 30 日に、Bing Search API は Azure AI サービスから Bing Search サービスに移行されました。 このドキュメントは、参考用としてのみ提供されています。 更新されたドキュメントについては、Bing search API のドキュメントを参照してください。 Bing 検索用の新しい Azure リソースを作成する手順については、「Azure Marketplace から Bing Search リソースを作成する」を参照してください。
Bing Web、Custom、Image、News または Video Search API の呼び出しを送信すると、Bing からは、クエリに関連する可能性のある結果の合計数のサブセットが返されます。 利用可能な結果の推定総数を取得するには、回答オブジェクトの totalEstimatedMatches
フィールドにアクセスします。
次に例を示します。
{
"_type" : "SearchResponse",
"webPages" : {
"webSearchUrl" : "https:\/\/www.bing.com\/cr?IG=3A43CA...",
"totalEstimatedMatches" : 262000,
"value" : [...]
}
}
検索結果をページングする
利用可能な動画をページングするには、要求の送信時にクエリ パラメーター count
と offset
を使用します。
注意
- Bing Video、Image、News API によるページングは、一般的な動画 (
/video/search
)、ニュース (/news/search
)、画像 (/image/search
) の検索にのみ適用されます。 流行のトピックとカテゴリによるページングはサポートされていません。 -
TotalEstimatedMatches
フィールドは、現在のクエリに対する検索結果の合計数の見積もりです。count
パラメーターとoffset
パラメーターを設定すると、この見積もりが変わることがあります。
パラメーター | 説明 |
---|---|
count |
応答で返される結果の数を指定します。
count の既定値と、要求できる結果の最大数は API によって異なることに注意してください。 これらの値については、「次の手順」の下にあるリファレンス ドキュメントを参照してください。 |
offset |
スキップする結果の数を指定します。
offset は 0 から始まり、(totalEstimatedMatches - count ) 未満である必要があります。 |
たとえば、1 ページあたり 15 件の結果を表示する場合、count
を 15 に、offset
を 0 に設定し、結果の最初のページを取得します。 後続の API 呼び出しごとに、offset
を 15 ずつ増やします。 次の例は、オフセット 45 から始まる 15 件の Web ページを要求します。
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
Bing Image API と Video API を使用する場合は、nextOffset
の値を使用して、検索結果の重複を避けることができます。
Images
または Videos
応答オブジェクトから値を取得し、要求の中で offset
パラメーターと共に使用します。
注意
Bing Web Search API から返される結果には、Web ページ、画像、動画、ニュースが含まれます。 Bing Web Search API からの検索結果をページングするとき、Web ページのみがページングされ、画像やニュースなど、他の種類の応答はページングされません。
WebPage
オブジェクトの検索結果には、他の種類の応答にも表示される結果が含まれることがあります。
フィルター値を指定せずに responseFilter
クエリ パラメーターを使用する場合、count
パラメーターと offset
パラメーターを使用しないでください。