你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

EntitiesOperationsExtensions.SearchAsync 方法

定义

实体搜索 API 允许向必应发送搜索查询,并返回包含实体和地点的搜索结果。 位置结果包括餐馆、酒店或其他当地企业。 对于位置,查询可以指定当地企业名称,也可以请求获取列表(例如,我附近的餐馆)。 实体结果包括人员、位置或事物。 在此上下文中,位置是旅游景点、省/自治区/直辖市、国家/地区等。

public static System.Threading.Tasks.Task<Microsoft.Azure.CognitiveServices.Search.EntitySearch.Models.SearchResponse> SearchAsync (this Microsoft.Azure.CognitiveServices.Search.EntitySearch.IEntitiesOperations operations, string query, string acceptLanguage = default, string pragma = default, string userAgent = default, string clientId = default, string clientIp = default, string location = default, string countryCode = default, string market = "en-us", System.Collections.Generic.IList<string> responseFilter = default, System.Collections.Generic.IList<string> responseFormat = default, string safeSearch = default, string setLang = default, System.Threading.CancellationToken cancellationToken = default);
static member SearchAsync : Microsoft.Azure.CognitiveServices.Search.EntitySearch.IEntitiesOperations * string * string * string * string * string * string * string * string * string * System.Collections.Generic.IList<string> * System.Collections.Generic.IList<string> * string * string * System.Threading.CancellationToken -> System.Threading.Tasks.Task<Microsoft.Azure.CognitiveServices.Search.EntitySearch.Models.SearchResponse>
<Extension()>
Public Function SearchAsync (operations As IEntitiesOperations, query As String, Optional acceptLanguage As String = Nothing, Optional pragma As String = Nothing, Optional userAgent As String = Nothing, Optional clientId As String = Nothing, Optional clientIp As String = Nothing, Optional location As String = Nothing, Optional countryCode As String = Nothing, Optional market As String = "en-us", Optional responseFilter As IList(Of String) = Nothing, Optional responseFormat As IList(Of String) = Nothing, Optional safeSearch As String = Nothing, Optional setLang As String = Nothing, Optional cancellationToken As CancellationToken = Nothing) As Task(Of SearchResponse)

参数

operations
IEntitiesOperations

此扩展方法的操作组。

query
String

用户的搜索词。

acceptLanguage
String

用于用户界面字符串的一种或多种语言的逗号分隔列表。 此列表以降序方式显示首选项。 有关其他信息(包括预期格式),请参阅 RFC2616。 此标头和 setLang 查询参数互斥;不要同时指定这两者。 如果设置此标头,则还必须指定 cc 查询参数。 必应将使用它从列表中找到的第一种受支持的语言,并将该语言与 cc 参数值组合在一起,以确定返回结果的市场。 如果列表不包含支持的语言,必应将找到支持请求的最近语言和市场,并且可能会对结果使用聚合市场或默认市场,而不是指定的市场。 仅当指定多种语言时,才应使用此标头和 cc 查询参数;否则,应使用 mkt 和 setLang 查询参数。 用户界面字符串是用作用户界面中标签的字符串。 JSON 响应对象中的用户界面字符串很少。 响应对象中指向 Bing.com 属性的任何链接都将应用指定的语言。

pragma
String

默认情况下,必应返回缓存的内容(如果适用)。 若要防止必应返回缓存的内容,请将 Pragma 标头设置为 no-cache(例如,Pragma: no-cache)。

userAgent
String

发出请求的用户代理。 必应使用用户代理为移动用户提供优化体验。 尽管是可选的,但强烈建议始终指定此标头。 用户代理应与任何常用浏览器发送的字符串相同。 有关用户代理的信息,请参阅 RFC 2616

clientId
String

必应使用此标头跨必应 API 调用为用户提供一致的行为。 必应通常会发布新功能和改进,并将客户端 ID 用作密钥以在不同航班上分配客流量。 如果未跨多个请求将相同的客户端 ID 用于用户,则必应可能将用户分配给多个冲突的航班。 分配给多个冲突航班可能导致用户体验不一致。 例如,如果第二个请求与第一个请求的航班分配不同,体验可能会出现意外。 此外,必应可以使用客户端 ID 根据客户端 ID 搜索历史记录来定制 Web 结果,为用户提供更丰富的体验。 通过分析由客户端 ID 生成的活动,必应还会使用此标头来提高结果排名。 相关改进有助于提高必应 API 交付的结果质量,从而提高 API 客户的点击率。 重要提示:尽管是可选的,但应将此标头视为必选。 对于同一最终用户和设备组合,如果跨多个请求保留客户端 ID,则 1) API 客户可以获取一致的用户体验;2) 可通过必应 API 提高结果质量,从而提高点击率。 在设备上使用你的应用程序的每个用户必须具有必应生成的唯一客户端 ID。 如果未在请求中包含此标头,必应会生成 ID,然后在 X-MSEdge-ClientID 响应标头中将其返回。 仅当用户首次在设备上使用应用时,才不可以在请求中包含此标头。 针对应用为设备上的此用户生成的每个必应 API 请求,使用客户端 ID。 保留客户端 ID。 若要在浏览器应用中保留 ID,请使用持久性 HTTP Cookie 来确保所有会话均使用此 ID。 请勿使用会话 Cookie。 对于移动应用等其他应用,请使用设备的持久存储来保留 ID。 下次用户在该设备上使用你的应用时,会获取保留的客户端 ID。 必应响应不一定包含此标头。 如果响应包含此标头,请针对该设备上的用户捕获客户端 ID 并将其用于所有后续必应请求。 如果包含 X-MSEdge-ClientID,不可在请求中包含 Cookie。

clientIp
String

客户端设备的 IPv4 或 IPv6 地址。 IP 地址用于发现用户的位置。 必应使用位置信息来确定安全搜索行为。 尽管是可选的,但还是建议始终指定此标头和 X-Search-Location 标头。 不要混淆地址(例如,通过将最后一个八位字节更改为 0 来混淆地址)。 混淆地址会导致位置未处于设备实际位置附近,这可能导致必应提供错误的结果。

location
String

以分号分隔的键/值对列表,描述客户端的地理位置。 必应使用位置信息来确定安全搜索行为并返回相关的本地内容。 以 <键>:<值> 形式指定键/值对。 下面是用于指定用户位置的键。 lat (所需的) :客户端位置的纬度(以度为单位)。 纬度必须大于或等于 -90.0 且小于或等于 +90.0。 负值表示南纬,正值表示北纬。 需要 long () :客户端位置的经度(以度为单位)。 经度必须大于或等于 -180.0 且小于或等于 +180.0。 负值表示西经,正值表示东经。 re (必需) :半径(以米为单位),指定坐标的水平精度。 传递设备定位服务返回的值。 典型的值可能是:22m - GPS/Wi-Fi、380m - 蜂窝基站三角网定位、18,000m - 反向 IP 查询。 ts (可选) :客户端位于该位置时的 UTC UNIX 时间戳。 (UNIX 时间戳是自 1970 年 1 月 1 日以来的秒数。) 头 (可选) :客户端的相对航向或行驶方向。 以度数指定旅行方向(从 0 到 360),相对于正北方向顺时针计数。 仅当 sp 键为非零时,才指定此键。 sp (可选) :客户端设备正在行驶的水平速度 (速度) 以米/秒为单位。 alt (可选) :客户端设备的海拔高度(以米为单位)。 (可选) :半径(以米为单位),指定坐标的垂直精度。 仅当指定 alt 键时,才指定此键。 尽管许多键是可选的,但提供的信息越多,位置结果越精确。 尽管是可选的,但还是建议始终指定用户的地理位置。 如果客户端的 IP 地址未准确反映用户的物理位置(例如,如果客户端使用 VPN),则提供位置尤其重要。 为了获得最佳结果,应包含此标头和 X-MSEdge-ClientIP 标头,但应至少包含此标头。

countryCode
String

结果来源的国家/地区的 2 个字符国家/地区代码。 此 API 仅支持美国市场。 如果指定此查询参数,则必须将其设置为我们。 如果设置此参数,则还必须指定 Accept-language 标头。 必应使用从语言列表中找到的第一种受支持语言,并将该语言与指定的国家/地区代码组合在一起,以确定返回结果的市场。 如果语言列表不包含支持的语言,必应会查找支持请求的最近语言和市场,或者可能会对结果使用聚合市场或默认市场,而不是指定的市场。 仅当指定多种语言时,才应使用此查询参数和Accept-Language查询参数;否则,应使用 mkt 和 setLang 查询参数。 此参数和 mkt 查询参数相互排斥,不可同时指定两者。

market
String

产生结果的市场。 强烈建议始终指定市场(如果已知)。 指定市场有助于必应路由请求,并返回适当的最佳响应。 此参数和 cc 查询参数相互排斥,不可同时指定两者。

responseFilter
IList<String>

要包含在响应中的答案的逗号分隔列表。 如果未指定此参数,则响应将包括具有相关数据的所有搜索答案。

responseFormat
IList<String>

可用于响应的媒体类型。 下面是可能不区分大小写的值:JSON、JSONLD。 默认值为 JSON。 如果指定 JSONLD,响应正文将包含包含搜索结果的 JSON-LD 对象。

safeSearch
String

用于筛选成人内容的筛选器。 关闭:返回包含成人文本、图像或视频的网页。 中等:返回包含成人文本的网页,但返回成人图像或视频。 严格:不要返回包含成人文本、图像或视频的网页。 默认级别为“中等”。 如果请求来自必应成人策略要求将 safeSearch 设置为 Strict 的市场,必应将忽略 safeSearch 值并使用 Strict。 如果使用 site: query 运算符,则无论 safeSearch 查询参数设置为什么,响应都可能包含成人内容。 使用网站:仅当你知道网站上的内容并且你的方案支持成人内容的可能性时。 可能的值包括:“Off”、“Moderate”、“Strict”

setLang
String

可用于用户界面字符串的语言。 使用 ISO 639-1 2 字母语言代码指定语言。 例如,英语的语言代码是 EN。 默认为 EN(英语)。 尽管是可选项,但应始终指定语言。 通常,将 setLang 设置为 mkt 指定的相同语言,除非用户希望用户界面字符串以其他语言显示。 此参数和 Accept-Language 标头是互斥的;不要同时指定这两者。 用户界面字符串是用作用户界面中标签的字符串。 JSON 响应对象中有几个用户界面字符串。 此外,响应对象中 Bing.com 属性的任何链接均会应用指定的语言。

cancellationToken
CancellationToken

取消标记。

返回

适用于