次の方法で共有


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 パラメーターを使用しないでください。

次のステップ