Bing Search API の結果をページングする方法
警告
2020 年 10 月 30 日、Bing Search API は Azure AI サービスから Bing Search Services に移行されました。 このドキュメントは参考用に提供されています。 更新されたドキュメントについては、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 から検索結果をページングする場合、WebPages のみがページングされ、画像やニュースなどの他の回答の種類はページングされません。
WebPage
オブジェクトの検索結果には、他の回答の種類にも表示される結果が含まれる場合があります。
フィルター値を指定せずに responseFilter
クエリ パラメーターを使用する場合は、count
パラメーターと offset
パラメーターを使用しないでください。