警告
在 2020 年 10 月 30 日,Bing 搜尋 API 從 Azure AI 服務移至 Bing 搜尋服務。 本檔僅供參考。 如需更新的檔案,請參閱 Bing 搜尋 API 檔案。 如需建立 Bing 搜尋新 Azure 資源的指示,請參閱透過 Azure Marketplace 建立 Bing 搜尋資源。
當您查詢 Web 時,Bing 會傳回它為搜尋尋找的所有相關內容。 例如,如果搜尋查詢是 「sailing+dinghies」,回應可能會包含下列答案:
{
"_type" : "SearchResponse",
"webPages" : {
"webSearchUrl" : "https:\/\/www.bing.com\/cr?IG=3A43C...",
"totalEstimatedMatches" : 262000,
"value" : [...]
},
"images" : {
"id" : "https:\/\/api.cognitive.microsoft.com\/api\/v7\/#Images",
"readLink" : "https:\/\/api.cognitive.microsoft.com\/api\/v7\/images\/search?q=sail...",
"webSearchUrl" : "https:\/\/www.bing.com\/cr?IG=3A43CA5CA6464E5D...",
"isFamilyFriendly" : true,
"value" : [...]
},
"rankingResponse" : {
"mainline" : {
"items" : [...]
}
}
}
查詢參數
若要篩選 Bing 傳回的答案,請在呼叫 API 時使用下列查詢參數。
ResponseFilter
您可以使用 responseFilter query 參數,篩選 Bing 在回應中所包含的答案類型(例如影像、影片和新聞),這是以逗號分隔的答案清單。 如果 Bing 找到相關的內容,回應中將會包含答案。
若要從影像等回應中排除特定答案,請在回應類型前面加上 - 個字元。 例如:
&responseFilter=-images,-videos
以下說明如何使用 responseFilter 來請求小型帆船的圖片、影片和新聞。 當您編碼查詢字串時,逗號會變更為 %2C。
GET https://api.cognitive.microsoft.com/bing/v7.0/search?q=sailing+dinghies&responseFilter=images%2Cvideos%2Cnews&mkt=en-us HTTP/1.1
Ocp-Apim-Subscription-Key: 123456789ABCDE
User-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; ARM; Touch; NOKIA; Lumia 822)
X-Search-ClientIP: 999.999.999.999
X-Search-Location: 47.60357;long:-122.3295;re:100
X-MSEdge-ClientID: <blobFromPriorResponseGoesHere>
Host: api.cognitive.microsoft.com
下列顯示對上一個查詢的回應。 因為 Bing 找不到相關的影片和新聞結果,因此回應不包含它們。
{
"_type" : "SearchResponse",
"images" : {
"id" : "https:\/\/api.cognitive.microsoft.com\/api\/v7\/#Images",
"readLink" : "https:\/\/api.cognitive.microsoft.com\/api\/v7\/images\/search?q=sail...",
"webSearchUrl" : "https:\/\/www.bing.com\/cr?IG=3AD78B183C56456C...",
"isFamilyFriendly" : true,
"value" : [...]
},
"rankingResponse" : {
"mainline" : {
"items" : [{
"answerType" : "Images",
"value" : {
"id" : "https:\/\/api.cognitive.microsoft.com\/api\/v7\/#Images"
}
}]
}
}
}
雖然 Bing 未在先前的回應中傳回影片和新聞結果,但並不表示影片和新聞內容不存在。 它只是表示頁面未包含它們。 不過,如果您翻閱更多的結果,後續頁面可能會包含它們。 此外,如果您直接呼叫 影片搜尋 API 和 新聞搜尋 API 端點,回應可能會包含結果。
不建議您使用 responseFilter 從單一 API 取得結果。 如果您想要來自單一 Bing API 的內容,請直接呼叫該 API。 例如,若要只接收影像,請將要求傳送至影像搜尋 API 端點,https://api.cognitive.microsoft.com/bing/v7.0/images/search 或其他其中一個 影像 端點。 呼叫單一 API 不僅基於效能考慮很重要,而且因為內容特定的 API 提供更豐富的結果。 例如,您可以使用 Web 搜尋 API 無法使用的篩選條件來篩選結果。
網站
若要從特定網域取得搜尋結果,請在查詢字串中包含 site: 查詢參數。
https://api.cognitive.microsoft.com/bing/v7.0/search?q=sailing+dinghies+site:contososailing.com&mkt=en-us
備註
根據查詢內容,即使您使用 site: 查詢運算符,不論 安全搜尋 () 設定為何,回應仍可能包括成人內容。 只有當您知道網站上的內容,且您的案例支援成人內容的可能性時,才應該使用 site:。
新鮮
若要將 Web 回應結果限制為 Bing 在特定期間探索到的網頁,請將 新鮮度 查詢參數設定為下列其中一個不區分大小寫的值:
-
Day- 傳回 Bing 在過去 24 小時內探索到的網頁 -
Week- 傳回 Bing 在過去 7 天內探索到的網頁 -
Month- 傳回在過去 30 天內探索的網頁
您也可以將此參數設定為表單中的自訂日期範圍,YYYY-MM-DD..YYYY-MM-DD。
https://<host>/bing/v7.0/search?q=ipad+updates&freshness=2019-02-01..2019-05-30
若要將結果限製為單一日期,請將 freshness 參數設定為特定日期:
https://<host>/bing/v7.0/search?q=ipad+updates&freshness=2019-02-04
如果 Bing 符合篩選準則的網頁數目小於您要求的網頁數目(或 Bing 傳回的預設數位),則結果可能包含落在指定期間外的網頁。
限制回應中的答案數目
Bing 可以在 JSON 回應中傳回多個回應類型。 例如,如果您查詢 sailing+dinghies,Bing 可能會傳回 webpages、images、videos和 relatedSearches。
{
"_type" : "SearchResponse",
"queryContext" : {
"originalQuery" : "sailing dinghies"
},
"webPages" : {...},
"images" : {...},
"relatedSearches" : {...},
"videos" : {...},
"rankingResponse" : {...}
}
若要將 Bing 傳回的答案數目限制為前兩個答案(網頁和影像),請將 answerCount 查詢參數設為 2。
GET https://api.cognitive.microsoft.com/bing/v7.0/search?q=sailing+dinghies&answerCount=2&mkt=en-us HTTP/1.1
Ocp-Apim-Subscription-Key: 123456789ABCDE
User-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; ARM; Touch; NOKIA; Lumia 822)
X-Search-ClientIP: 999.999.999.999
X-Search-Location: 47.60357;long:-122.3295;re:100
X-MSEdge-ClientID: <blobFromPriorResponseGoesHere>
Host: api.cognitive.microsoft.com
回應只包含 webPages 與 images。
{
"_type" : "SearchResponse",
"queryContext" : {
"originalQuery" : "sailing dinghies"
},
"webPages" : {...},
"images" : {...},
"rankingResponse" : {...}
}
如果您將 responseFilter 查詢參數新增至上一個查詢,並將它設定為網頁和新聞,回應只會包含網頁,因為新聞並未排名。
{
"_type" : "SearchResponse",
"queryContext" : {
"originalQuery" : "sailing dinghies"
},
"webPages" : {...},
"rankingResponse" : {...}
}
推廣尚未排名的解答
如果 Bing 針對查詢傳回的最高排名答案是網頁、影像、影片和相關搜尋,回應會包含這些答案。 如果您將 answerCount 設為兩個 (2),Bing 會傳回前兩個排名的答案:網頁和影像。 如果您想要 Bing 在回應中包含影像和影片,請指定 升級 查詢參數,並將它設定為影像和影片。
GET https://api.cognitive.microsoft.com/bing/v7.0/search?q=sailing+dinghies&answerCount=2&promote=images%2Cvideos&mkt=en-us HTTP/1.1
Ocp-Apim-Subscription-Key: 123456789ABCDE
User-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; ARM; Touch; NOKIA; Lumia 822)
X-Search-ClientIP: 999.999.999.999
X-Search-Location: 47.60357;long:-122.3295;re:100
X-MSEdge-ClientID: <blobFromPriorResponseGoesHere>
Host: api.cognitive.microsoft.com
以下是上述要求的回應。 Bing 會傳回前兩個答案、網頁和影像,並將影片升階為答案。
{
"_type" : "SearchResponse",
"queryContext" : {
"originalQuery" : "sailiing dinghies"
},
"webPages" : {...},
"images" : {...},
"videos" : {...},
"rankingResponse" : {...}
}
如果您將 promote 設為新聞,則回應不會包含新聞答案,因為它不是排名的答案,因此您只能提升排名的答案。
您想要推廣的答案不會計入 answerCount 限制。 例如,如果排名的答案是新聞、影像和影片,而您將 answerCount 設定為 1,並將 promote 設為新聞,則回應會包含新聞和影像。 或者,如果排名的答案是影片、影像和新聞,回應會包含影片和新聞。
只有在指定 promote 查詢參數時,才能使用 answerCount。