执行搜索。
HTTP 请求
POST https://discoveryengine.googleapis.com/v1beta/{servingConfig=projects/*/locations/*/collections/*/engines/*/servingConfigs/*}:search
网址采用 gRPC 转码语法。
路径参数
| 参数 | |
|---|---|
servingConfig | 
                
                   
 必需。servingConfigs.search 服务配置的资源名称,例如   | 
              
请求正文
请求正文中包含结构如下的数据:
| JSON 表示法 | 
|---|
{ "branch": string, "query": string, "imageQuery": { object (  | 
                
| 字段 | |
|---|---|
branch | 
                  
                     
 分支资源名称,例如  使用   | 
                
query | 
                  
                     
 原始搜索查询。  | 
                
imageQuery | 
                  
                     
 原始图片查询。  | 
                
pageSize | 
                  
                     
 要返回的  
 如果此字段为负数,则返回   | 
                
pageToken | 
                  
                     
 从之前的  进行分页时,提供给   | 
                
offset | 
                  
                     
 一个从 0 开始的整数,用于指定搜索结果中当前偏移量(即 API 视为相关的  如果此字段为负数,则返回  较大的偏移量可能会被限制在合理的阈值范围内。  | 
                
oneBoxPageSize | 
                  
                     
 OneBox 中返回的结果数上限。此设置分别适用于每种 OneBox 类型。默认值为 10。  | 
                
dataStoreSpecs[] | 
                  
                     
 用于定义要搜索的特定   | 
                
filter | 
                  
                     
 过滤器语法使用一种表达式语言,可根据要过滤文档的一个或多个字段构建过滤条件。过滤表达式区分大小写。 如果此字段无法识别,则返回  Vertex AI servingConfigs.search 中的过滤是通过将 LHS 过滤键映射到 Vertex AI servingConfigs.search 后端中定义的键属性来完成的 - 此映射由客户在其架构中定义。例如,媒体客户的架构中可能包含“名称”字段。在这种情况下,过滤条件将如下所示:filter --> name:'ANY("king kong")' 如需详细了解过滤(包括语法和过滤运算符),请参阅过滤  | 
                
canonicalFilter | 
                  
                     
 用户在搜索页上未勾选任何过滤条件的情况下执行搜索时应用的默认过滤条件。 当需要进行查询扩展等质量改进时,应用于每个搜索请求的过滤条件。如果查询的结果数量不足,系统将使用此过滤条件来确定是否启用查询扩展流程。原始过滤条件仍将用于扩大搜索范围的查询。强烈建议使用此字段,以实现高搜索质量。 如需详细了解过滤条件语法,请参阅   | 
                
orderBy | 
                  
                     
 返回文档的顺序。可以按  如需详细了解如何对网站搜索结果进行排序,请参阅对网页搜索结果进行排序。如需详细了解如何对医疗保健搜索结果进行排序,请参阅对医疗保健搜索结果进行排序。如果此字段无法识别,则返回   | 
                
userInfo | 
                  
                     
 有关最终用户的信息。强烈建议使用,以便进行分析和个性化定制。  | 
                
languageCode | 
                  
                     
 BCP-47 语言代码,例如“en-US”或“sr-Latn”。如需了解详情,请参阅标准字段。此字段有助于更好地解读查询。如果未指定值,系统会自动检测查询语言代码,但检测结果可能不准确。  | 
                
regionCode | 
                  
                     
 位置的 Unicode 国家/地区代码 (CLDR),例如“US”和“419”。如需了解详情,请参阅标准字段。如果设置,则会根据提供的 regionCode 提升结果。  | 
                
facetSpecs[] | 
                  
                     
 分面搜索的分面规范。如果为空,则不返回任何分面。 最多允许 100 个值。否则,系统将返回   | 
                
boostSpec | 
                  
                     
 提升规范以提升特定文档。如需详细了解热推,请参阅热推  | 
                
params | 
                  
                     
 其他搜索参数。 仅限公开网站搜索,支持的值包括: 
 如需查看可用代码,请参阅国家/地区代码 
  | 
                
queryExpansionSpec | 
                  
                     
 用于指定查询扩展发生条件的查询扩展规范。  | 
                
spellCorrectionSpec | 
                  
                     
 拼写校正规范,用于指定拼写校正生效的模式。  | 
                
userPseudoId | 
                  
                     
 用于跟踪访问者的唯一标识符。例如,可以使用 HTTP Cookie 实现此目的,该 Cookie 应能够唯一标识单个设备上的访问者。如果访问者登录或退出网站,此唯一标识符不应发生变化。 此字段不应具有固定值,例如  此标识符应与  该字段必须是 UTF-8 编码的字符串,长度限制为 128 个字符。否则,系统将返回   | 
                
contentSearchSpec | 
                  
                     
 用于配置内容搜索行为的规范。  | 
                
embeddingSpec | 
                  
                     
 使用提供的嵌入进行额外的语义文档检索。检索基于  如果未提供   | 
                
rankingExpression | 
                  
                     
 可选。排名表达式用于控制检索到的文档的自定义排名。这会替换  如果未提供  
 支持的函数: 
 函数变量: 
 排名表达式示例: 如果文档具有嵌入字段 doc_embedding,则排名表达式可以是  如果  
 以下是一些使用支持的排名表达式类型的排名公式示例: 
 支持以下信号: 
  | 
                
rankingExpressionBackend | 
                  
                     
 可选。用于排名表达式评估的后端。  | 
                
safeSearch | 
                  
                     
 是否开启安全搜索功能。此功能仅支持网站搜索。  | 
                
userLabels | 
                  
                     
 应用于资源的用户标签必须符合以下要求: 
 如需了解详情,请参阅 Google Cloud 文档。  | 
                
naturalLanguageQueryUnderstandingSpec | 
                  
                     
 可选。自然语言查询理解功能的配置,例如从查询中提取结构化字段过滤条件。如需了解详情,请参阅此文档。如果未指定   | 
                
searchAsYouTypeSpec | 
                  
                     
 即输即搜配置。仅支持   | 
                
displaySpec | 
                  
                     
 可选。显示功能(例如搜索结果中的匹配项突出显示)的配置。  | 
                
session | 
                  
                     
 会话资源名称。可选。 会话允许用户进行多轮 /search API 调用,或在 /search API 调用和 /answer API 调用之间进行协调。 示例 1(多轮 /search API 调用):使用在第一次调用中生成的会话 ID 调用 /search API。在此示例中,系统会在查询排名中考虑之前的搜索查询。也就是说,如果第一个查询是“Alphabet 在 2022 年的表现如何?”,如果上一个查询是“Alphabet 在 2022 年的表现如何?”,而当前查询是“2023 年呢?”,则当前查询会被解读为“Alphabet 在 2023 年的表现如何?”。 示例 2(/search API 调用与 /answer API 调用之间的协调):使用在第一次调用中生成的会话 ID 调用 /answer API。在此示例中,答案生成是在第一次搜索调用返回的搜索结果的上下文中进行的。 多轮 servingConfigs.search 功能目前处于非公开正式版阶段。在正式向公众发布此功能之前,请使用 v1alpha 或 v1beta 版本。或者,通过 Google 支持团队申请加入许可名单。  | 
                
sessionSpec | 
                  
                     
 会话规范。 仅当设置了   | 
                
relevanceThreshold | 
                  
                     
 搜索结果的相关性阈值。 默认采用 Google 定义的阈值,在精确率和召回率之间取得平衡,既能提供高度准确的结果,又能全面覆盖相关信息。 此功能不支持医疗保健搜索。  | 
                
personalizationSpec | 
                  
                     
 个性化规范。 请注意,如果同时设置了   | 
                
relevanceScoreSpec | 
                  
                     
 可选。用于返回相关性得分的规范。  | 
                
searchAddonSpec | 
                  
                     
 可选。SearchAddonSpec 用于根据新的重新定价模型停用搜索的插件。此字段仅支持搜索请求。  | 
                
响应正文
如果成功,则响应正文包含一个 SearchResponse 实例。
授权范围
需要以下 OAuth 范围之一:
https://www.googleapis.com/auth/cloud-platformhttps://www.googleapis.com/auth/discoveryengine.readwritehttps://www.googleapis.com/auth/discoveryengine.assist.readwrite
如需了解详情,请参阅 Authentication Overview。
IAM 权限
需要拥有 servingConfig 资源的以下 IAM 权限:
discoveryengine.servingConfigs.search
如需了解详情,请参阅 IAM 文档。