SearchResponse

SearchService.Search 方法的响应消息。

JSON 表示法
{
  "results": [
    {
      object (SearchResult)
    }
  ],
  "facets": [
    {
      object (Facet)
    }
  ],
  "guidedSearchResult": {
    object (GuidedSearchResult)
  },
  "totalSize": integer,
  "attributionToken": string,
  "redirectUri": string,
  "nextPageToken": string,
  "correctedQuery": string,
  "suggestedQuery": string,
  "summary": {
    object (Summary)
  },
  "appliedControls": [
    string
  ],
  "geoSearchDebugInfo": [
    {
      object (GeoSearchDebugInfo)
    }
  ],
  "queryExpansionInfo": {
    object (QueryExpansionInfo)
  },
  "naturalLanguageQueryUnderstandingInfo": {
    object (NaturalLanguageQueryUnderstandingInfo)
  },
  "sessionInfo": {
    object (SessionInfo)
  },
  "oneBoxResults": [
    {
      object (OneBoxResult)
    }
  ],
  "searchLinkPromotions": [
    {
      object (SearchLinkPromotion)
    }
  ]
}
字段
results[]

object (SearchResult)

匹配的文档列表。顺序表示排名。

facets[]

object (Facet)

用户请求的分面结果。

guidedSearchResult

object (GuidedSearchResult)

引导式搜索结果。

totalSize

integer

估算的匹配商品总数量,不考虑分页。分页返回的 results 数量可能少于匹配的 totalSize 数量。

attributionToken

string

唯一的搜索令牌。此令牌应包含在相应搜索生成的 UserEvent 日志中,以便对搜索模型效果进行准确归因。这也有助于在客户支持场景中识别请求。

redirectUri

string

客户自定义的重定向页面的 URI。如果触发了重定向操作,则不会执行搜索,并且响应中仅设置 redirectUriattributionToken

nextPageToken

string

可作为 SearchRequest.page_token 发送并用于检索下一页的令牌。如果省略此字段,则不存在后续页面。

correctedQuery

string

包含拼写更正后的查询(如果找到)。如果拼写校正类型为 AUTOMATIC,则搜索结果基于 correctedQuery。否则,系统会使用原始查询进行搜索。

suggestedQuery

string

置信度较低的已更正查询,也称为“您是不是要查询”查询。与 correctedQuery 相比,当 SpellCorrector 返回响应时,系统会设置此字段,但不会触发 FPR(整页替换),因为更正的置信度较低(例如,由于文档语料库中存在原始查询的匹配项,因此更正被反转)。

summary

object (Summary)

作为搜索结果的一部分的摘要。只有在设置了 SearchRequest.ContentSearchSpec.summary_spec 时,系统才会返回此字段。

appliedControls[]

string

作为控制服务的一部分应用的控制措施。

geoSearchDebugInfo[]

object (GeoSearchDebugInfo)

queryExpansionInfo

object (QueryExpansionInfo)

返回结果的查询扩展信息。

naturalLanguageQueryUnderstandingInfo

object (NaturalLanguageQueryUnderstandingInfo)

返回结果的自然语言查询理解信息。

sessionInfo

object (SessionInfo)

会话信息。

仅当提供 SearchRequest.session 时才设置。如需了解详情,请参阅其说明。

oneBoxResults[]

object (OneBoxResult)

一个框结果的列表。可能会有多个不同类型的“单框”结果。

商品详情

一种分面结果。

JSON 表示法
{
  "key": string,
  "values": [
    {
      object (FacetValue)
    }
  ],
  "dynamicFacet": boolean
}
字段
key

string

相应构面的键。例如 "colors""price"。 它与 SearchRequest.FacetSpec.FacetKey.key 相匹配。

values[]

object (FacetValue)

相应字段的构面值。

dynamicFacet

boolean

分面是否是动态生成的。

FacetValue

包含值名称及其数量的 Facet 值。

JSON 表示法
{
  "count": string,

  // Union field facet_value can be only one of the following:
  "value": string,
  "interval": {
    object (Interval)
  }
  // End of list of possible types for union field facet_value.
}
字段
count

string (int64 format)

具有相应分面值的商品的数量。

联合字段 facet_value。包含值的 facet 值。facet_value 只能是下列其中一项:
value

string

相应构面的文本值,例如构面“颜色”的“黑色”。

interval

object (Interval)

某个详情的区间值,例如“价格”详情的 [10, 20)。它与 SearchRequest.FacetSpec.FacetKey.intervals 相匹配。

GuidedSearchResult

引导式搜索结果。引导式搜索可帮助用户优化搜索结果,并从广泛的搜索结果中缩小范围,找到真正需要的内容。

JSON 表示法
{
  "refinementAttributes": [
    {
      object (RefinementAttribute)
    }
  ],
  "followUpQuestions": [
    string
  ]
}
字段
refinementAttributes[]

object (RefinementAttribute)

排名细化属性的列表。

followUpQuestions[]

string

建议的后续问题。

RefinementAttribute

有助于优化搜索结果的实用属性。

JSON 表示法
{
  "attributeKey": string,
  "attributeValue": string
}
字段
attributeKey

string

用于优化结果的属性键。例如 "movie_type"

attributeValue

string

用于优化结果的属性值。例如 "drama"

GeoSearchDebugInfo

与地理定位搜索引起的正向地理编码问题相关的调试信息。

JSON 表示法
{
  "originalAddressQuery": string,
  "errorMessage": string
}
字段
originalAddressQuery

string

正向地理编码提取出现问题的地址。

errorMessage

string

产生的错误。

QueryExpansionInfo

描述查询扩展的信息,包括是否已发生扩展。

JSON 表示法
{
  "expandedQuery": boolean,
  "pinnedResultCount": string
}
字段
expandedQuery

boolean

一个布尔值,用于描述是否发生了查询扩展。

pinnedResultCount

string (int64 format)

固定结果的数量。只有在发生扩展且 SearchRequest.QueryExpansionSpec.pin_unexpanded_results 设置为 true 时,系统才会设置此字段。

NaturalLanguageQueryUnderstandingInfo

描述对输入查询执行的自然语言理解操作的信息。

JSON 表示法
{
  "extractedFilters": string,
  "rewrittenQuery": string,
  "classifiedIntents": [
    string
  ],
  "structuredExtractedFilter": {
    object (StructuredExtractedFilter)
  }
}
字段
extractedFilters

string

从输入查询中提取的过滤条件。

rewrittenQuery

string

重写的输入查询(不含提取的过滤条件)。

classifiedIntents[]

string

输入查询中分类的 intent。

structuredExtractedFilter

object (StructuredExtractedFilter)

以结构化形式表示的从输入查询中提取的过滤条件。

StructuredExtractedFilter

以结构化形式表示的从输入查询中提取的过滤条件。

JSON 表示法
{
  "expression": {
    object (Expression)
  }
}
字段
expression

object (Expression)

以结构化形式表示的从输入查询中提取的过滤条件。它可以是表示单个字符串、数值或地理定位限制的简单表达式,也可以是使用逻辑(OR 和 AND)运算符连接的多个表达式的组合。

表达式

表示从输入查询中提取的过滤条件的表达式。

JSON 表示法
{

  // Union field expr can be only one of the following:
  "stringConstraint": {
    object (StringConstraint)
  },
  "numberConstraint": {
    object (NumberConstraint)
  },
  "geolocationConstraint": {
    object (GeolocationConstraint)
  },
  "andExpr": {
    object (AndExpression)
  },
  "orExpr": {
    object (OrExpression)
  }
  // End of list of possible types for union field expr.
}
字段
联合字段 expr。表达式类型。expr 只能是下列其中一项:
stringConstraint

object (StringConstraint)

字符串限制条件表达式。

numberConstraint

object (NumberConstraint)

数值限制表达式。

geolocationConstraint

object (GeolocationConstraint)

地理定位限制条件表达式。

andExpr

object (AndExpression)

用于连接多个表达式的逻辑“与”复合运算符。

orExpr

object (OrExpression)

用于连接多个表达式的逻辑“或”复合运算符。

StringConstraint

字符串字段的限制条件表达式。

JSON 表示法
{
  "fieldName": string,
  "values": [
    string
  ],
  "querySegment": string
}
字段
fieldName

string

字符串字段的名称,如架构中所定义。

values[]

string

字符串字段的值。仅当字段值与此处指定的值之一匹配时,才会返回相应记录。

querySegment

string

标识搜索查询中与过滤条件匹配的关键字。

NumberConstraint

数字字段的限制条件表达式。示例:price < 100。

JSON 表示法
{
  "fieldName": string,
  "comparison": enum (Comparison),
  "value": number,
  "querySegment": string
}
字段
fieldName

string

数值字段的名称,如架构中所定义。

comparison

enum (Comparison)

字段值与约束中指定的值之间执行的比较操作。

value

number

数值限制中指定的值。

querySegment

string

标识搜索查询中与过滤条件匹配的关键字。

比较

执行的比较操作。

枚举
COMPARISON_UNSPECIFIED 未定义的比较运算符。
EQUALS 表示等值 = 运算符。
LESS_THAN_EQUALS 表示“小于或等于”运算符 <=
LESS_THAN 表示“小于”运算符 <
GREATER_THAN_EQUALS 表示“大于或等于”>= 运算符。
GREATER_THAN 表示“大于”运算符 >

GeolocationConstraint

地理定位字段的限制。地理定位字段的名称,如架构中所定义。

JSON 表示法
{
  "fieldName": string,
  "address": string,
  "latitude": number,
  "longitude": number,
  "radiusInMeters": number
}
字段
fieldName

string

地理定位字段的名称,如架构中所定义。

address

string

从输入查询中推断出的参考地址。系统将使用参考地址与地理定位字段的邻近程度来过滤结果。

latitude

number

从输入查询中推断出的地理位置的纬度。

longitude

number

从输入查询中推断出的地理位置的经度。

radiusInMeters

number

地址周围的半径(以米为单位)。如果地理定位字段的位置位于半径范围内,则返回相应记录。

AndExpression

逻辑 And 运算符。

JSON 表示法
{
  "expressions": [
    {
      object (Expression)
    }
  ]
}
字段
expressions[]

object (Expression)

通过 AND 运算符连接的表达式。

OrExpression

逻辑 Or 运算符。

JSON 表示法
{
  "expressions": [
    {
      object (Expression)
    }
  ]
}
字段
expressions[]

object (Expression)

通过 OR 运算组合在一起的表达式。

SessionInfo

有关会话的信息。

JSON 表示法
{
  "name": string,
  "queryId": string
}
字段
name

string

会话名称。如果使用自动会话模式(当 SearchRequest.session 以“-”结尾时),此字段会保存新生成的会话名称。

queryId

string

与此搜索 API 调用对应的查询 ID。一个会话可以包含多个对话轮次,每个对话轮次都有一个唯一的查询 ID。

通过在 Answer API 调用中指定会话名称和此查询 ID,系统会在相应搜索调用的搜索结果上下文中生成回答。

OneBoxResult

OneBoxResult 是一个容器,用于存放我们希望在界面中以不同方式显示的所有特定类型的结果。

JSON 表示法
{
  "oneBoxType": enum (OneBoxType),
  "searchResults": [
    {
      object (SearchResult)
    }
  ]
}
字段
oneBoxType

enum (OneBoxType)

One Box 结果的类型。

searchResults[]

object (SearchResult)

此 One box 的搜索结果。

OneBoxType

One Box 结果的类型。

枚举
ONE_BOX_TYPE_UNSPECIFIED 默认值。不应使用。
PEOPLE 一个框结果包含用户搜索结果。
ORGANIZATION 一个方框结果包含组织结果。
SLACK 一个方框结果包含松弛结果。
KNOWLEDGE_GRAPH 单一框搜索结果包含知识图谱搜索响应。