共用方式為


篩選搜尋回應包含的答案

警告

在 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 可能會傳回 webpagesimagesvideosrelatedSearches

{
    "_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  

回應只包含 webPagesimages

{
    "_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