SearchResponse

Search API 响应。NEXT id:17

JSON 表示法
{
  "queryInterpretation": {
    object (QueryInterpretation)
  },
  "results": [
    {
      object (SearchResult)
    }
  ],
  "structuredResults": [
    {
      object (StructuredResult)
    }
  ],
  "spellResults": [
    {
      object (SpellResult)
    }
  ],
  "facetResults": [
    {
      object (FacetResult)
    }
  ],
  "hasMoreResults": boolean,
  "debugInfo": {
    object (ResponseDebugInfo)
  },
  "errorInfo": {
    object (ErrorInfo)
  },
  "resultCounts": {
    object (ResultCounts)
  },

  // Union field result_count can be only one of the following:
  "resultCountEstimate": string,
  "resultCountExact": string
  // End of list of possible types for union field result_count.
}
字段
queryInterpretation

object (QueryInterpretation)

用户查询的查询解读结果。如果停用查询解读,则为空。

results[]

object (SearchResult)

搜索查询的结果。

structuredResults[]

object (StructuredResult)

用户查询的结构化结果。这些结果不会计入 pageSize。

spellResults[]

object (SpellResult)

查询的拼写建议。

facetResults[]

object (FacetResult)

重复的构面结果。

hasMoreResults

boolean

是否有更多与查询匹配的搜索结果。

debugInfo

object (ResponseDebugInfo)

有关响应的调试信息。

errorInfo

object (ErrorInfo)

有关响应的错误信息。

resultCounts

object (ResultCounts)

展开后的结果数信息。

联合字段 result_count。所有请求的数据源中的结果总数。如果查询的数据源集中包含预定义来源,则省略此参数。在以下情况下,系统可能会以估算值(而非确切值)返回结果数:

  • 查询词组中包含 2 个以上的字词,例如带引号的“结果数完全匹配”。

  • 要评估的唯一搜索结果 ACL 数量过多,无法在合理的延迟时间内计算。

在极少数情况下,如果系统无法搜索所有文档,请重新运行查询。result_count 只能是下列其中一项:

resultCountEstimate

string (int64 format)

此查询的估算结果数。

resultCountExact

string (int64 format)

此查询的确切结果数。

QueryInterpretation

JSON 表示法
{
  "interpretedQuery": string,
  "interpretationType": enum (QueryInterpretation.InterpretationType),
  "reason": enum (QueryInterpretation.Reason),
  "interpretedQueryActualResultCount": integer,
  "interpretedQueryEstimatedResultCount": string
}
字段
interpretedQuery

string

搜索中使用的查询的解释。例如,包含自然语言意图的查询(例如“john 发来的电子邮件”)将被解读为“from:john source:mail”。如果原因为 NOT_ENOUGH_RESULTS_FOUND_FOR_USER_QUERY,则不会填充此字段。

interpretationType

enum (QueryInterpretation.InterpretationType)

reason

enum (QueryInterpretation.Reason)

对查询进行解释的原因。如果解读类型不是“NONE”,则此字段不会为“UNSPECIFIED”。

interpretedQueryActualResultCount

integer

经过解析的查询返回的实际结果数。

interpretedQueryEstimatedResultCount

string (int64 format)

经过解析的查询返回的预计结果数。

QueryInterpretation.InterpretationType

枚举
NONE 系统不会使用自然语言解释或更广泛的查询版本来提取搜索结果。
BLEND 原始查询的结果会与其他结果混合。系统会在下方的“reason”字段中填充将这些其他结果与原始查询的结果混合的原因。
REPLACE 原始查询的结果会被替换。下方的“reason”字段中会填充替换原始查询结果的原因。

QueryInterpretation.Reason

枚举
UNSPECIFIED
QUERY_HAS_NATURAL_LANGUAGE_INTENT 系统会对查询进行自然语言解释,以提取搜索结果。
NOT_ENOUGH_RESULTS_FOUND_FOR_USER_QUERY 由于未找到足够的用户查询结果,因此系统会使用查询与文档字词的相似性来选择性地扩大查询范围,以检索其他搜索结果。对于这种情况,解析后的查询将为空。

SearchResult

包含文档索引信息的结果。

JSON 表示法
{
  "title": string,
  "url": string,
  "snippet": {
    object (Snippet)
  },
  "metadata": {
    object (Metadata)
  },
  "clusteredResults": [
    {
      object (SearchResult)
    }
  ],
  "debugInfo": {
    object (ResultDebugInfo)
  }
}
字段
title

string

搜索结果的标题。

url

string

搜索结果的网址。网址包含指向实际商品的 Google 重定向。此网址已签名,不应更改。

snippet

object (Snippet)

此结果可用的所有摘要的串联。

metadata

object (Metadata)

搜索结果的元数据。

clusteredResults[]

object (SearchResult)

如果来源是分片的,请提供分片结果列表。只有一级集群结果。如果当前来源未启用分组功能,此字段将为空。

debugInfo

object (ResultDebugInfo)

与此搜索结果相关的调试信息。

Snippet

搜索结果的摘要,用于概括搜索结果页的内容。

JSON 表示法
{
  "snippet": string,
  "matchRanges": [
    {
      object (MatchRange)
    }
  ]
}
字段
snippet

string

文档的摘要。可能包含转义的 HTML 字符,应先取消转义,然后再进行呈现。

matchRanges[]

object (MatchRange)

摘要中匹配的范围。

MatchRange

代码段的匹配范围 [start, end)。

JSON 表示法
{
  "start": integer,
  "end": integer
}
字段
start

integer

匹配项在摘要中的起始位置。

end

integer

代码段中的匹配结束。

元数据

匹配搜索结果的元数据。

JSON 表示法
{
  "source": {
    object (Source)
  },
  "mimeType": string,
  "thumbnailUrl": string,
  "owner": {
    object (Person)
  },
  "createTime": string,
  "updateTime": string,
  "fields": [
    {
      object (NamedProperty)
    }
  ],
  "displayOptions": {
    object (ResultDisplayMetadata)
  },
  "objectType": string
}
字段
source

object (Source)

相应结果的命名来源,例如 Gmail。

mimeType

string

搜索结果的 MIME 类型。

thumbnailUrl

string

相应结果的缩略图网址。

owner

object (Person)

搜索结果文档或对象的所有者(通常是创建者)。

createTime

string (Timestamp format)

搜索结果中此文档或对象的创建时间。

采用 RFC 3339 标准,生成的输出将始终在末尾带 Z,并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

updateTime

string (Timestamp format)

搜索结果中对象的上次修改日期。如果未在项中设置,此处返回的值为空。如果 updateTime 用于计算新鲜度,但未设置,则此值默认为距离当前时间 2 年。

采用 RFC 3339 标准,生成的输出将始终在末尾带 Z,并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

fields[]

object (NamedProperty)

结构化数据中的编入索引的字段,以通用命名属性的形式返回。

displayOptions

object (ResultDisplayMetadata)

用于指定如何显示结构化数据搜索结果的选项。

objectType

string

搜索结果的对象类型。

ResultDisplayMetadata

JSON 表示法
{
  "objectTypeLabel": string,
  "metalines": [
    {
      object (ResultDisplayMetadata.ResultDisplayLine)
    }
  ]
}
字段
objectTypeLabel

string

对象的显示标签。

metalines[]

object (ResultDisplayMetadata.ResultDisplayLine)

要与结果一起显示的元行内容。

ResultDisplayMetadata.ResultDisplayLine

构成显示行的一组字段

JSON 表示法
{
  "fields": [
    {
      object (ResultDisplayMetadata.ResultDisplayField)
    }
  ]
}
字段
fields[]

object (ResultDisplayMetadata.ResultDisplayField)

ResultDisplayMetadata.ResultDisplayField

显示搜索结果的字段

JSON 表示法
{
  "label": string,
  "operatorName": string,
  "property": {
    object (NamedProperty)
  }
}
字段
label

string

房源的显示标签。

operatorName

string

房源的运营商名称。

property

object (NamedProperty)

媒体资源的名称值对。

ResultDebugInfo

有关结果的调试信息。

JSON 表示法
{
  "formattedDebugInfo": string
}
字段
formattedDebugInfo

string

采用适合显示的格式的常规调试信息。

StructuredResult

作为搜索请求的一部分返回的结构化结果。

JSON 表示法
{

  // Union field structured_result can be only one of the following:
  "person": {
    object (Person)
  }
  // End of list of possible types for union field structured_result.
}
字段

联合字段 structured_result

structured_result 只能是下列其中一项:

person

object (Person)

表示个人

SpellResult

JSON 表示法
{
  "suggestedQuery": string,
  "suggestionType": enum (SpellResult.SuggestionType),
  "suggestedQueryHtml": {
    object (SafeHtmlProto)
  }
}
字段
suggestedQuery

string

查询的拼写建议。

suggestionType

enum (SpellResult.SuggestionType)

为当前查询触发的建议。

suggestedQueryHtml

object (SafeHtmlProto)

经过过滤的 HTML,表示可在界面中使用的拼写更正后的查询。此标记通常包含特定于语言的标记,用于标记要进行拼写检查的查询部分。

SpellResult.SuggestionType

为查询触发的建议类型。

枚举
SUGGESTION_TYPE_UNSPECIFIED 默认拼写检查类型
NON_EMPTY_RESULTS_SPELL_SUGGESTION 拼写建议,没有任何结果发生变化。系统仍会显示原始查询(有结果)的结果,并会显示可获得结果的拼写建议。
ZERO_RESULTS_FULL_PAGE_REPLACEMENT 当原始查询没有结果时触发拼写建议。如果原始查询没有结果,而拼写建议中有结果,我们会触发拼写更正后的查询的结果。

SafeHtmlProto

重要提示:从不可信来源接受此消息是不安全的,因为攻击者可以轻松伪造不符合类型安全协定的序列化消息,例如,它可能包含攻击者控制的脚本。接收 SafeHtmlProto 的系统会隐式信任 SafeHtmlProto 的生产者。因此,在 RPC 响应中返回此消息通常是安全的,但在 RPC 请求中接受此消息通常是不安全的。

JSON 表示法
{
  "privateDoNotAccessOrElseSafeHtmlWrappedValue": string
}
字段
privateDoNotAccessOrElseSafeHtmlWrappedValue

string

重要提示:请勿设置或读取此字段,即使在测试中也不行,因为它是私有的。请参阅 .proto 文件顶部的文档,了解用于创建或读取此消息的编程语言软件包。

FacetResult

特定于来源的细分回复

JSON 表示法
{
  "sourceName": string,
  "objectType": string,
  "operatorName": string,
  "buckets": [
    {
      object (FacetBucket)
    }
  ]
}
字段
sourceName

string

要返回构面结果的来源名称。不得为空。

objectType

string

用于返回面向对象的结果的对象类型。可以留空。

operatorName

string

为切片选择的运算符的名称。@see cloudsearch.SchemaPropertyOptions

buckets[]

object (FacetBucket)

对于包含至少一个包含相应过滤条件的结果的响应值,使用 FacetBucket。

FacetBucket

面切片中的存储分区是操作的基本单元。存储分区可以包含单个值或连续的值范围,具体取决于分桶的字段的类型。FacetBucket 目前仅用于返回响应对象。

JSON 表示法
{
  "count": integer,
  "percentage": integer,
  "filter": {
    object (Filter)
  },

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

integer

与存储分区值匹配的结果数量。只有在能够确保搜索次数准确无误时,系统才会返回搜索次数。Cloud Search 不保证任何查询的细分计数,而且细分计数可能仅会间歇性显示,即使是完全相同的查询也是如此。请勿根据细分维度数量的存在情况构建依赖项;而是使用始终返回的细分维度数量百分比。

percentage

integer

与存储分区值匹配的结果所占的百分比。返回值介于 [0-100] 之间,如果是小数,则会向下舍入为整数。如果未明确返回该值,则表示一个四舍五入为 0 的百分比值。系统会针对所有搜索返回百分比,但这些百分比是估算值。由于系统始终会返回百分比,因此您应呈现百分比,而不是计数。

filter

object (Filter)

如果选择了相应的存储分区,则在搜索请求中传递的过滤条件。

联合字段 bucket_value。分面 bucket_value 的存储分区的范围或值只能是以下任一项:
value

object (Value)

ResponseDebugInfo

有关响应的调试信息。

JSON 表示法
{
  "formattedDebugInfo": string
}
字段
formattedDebugInfo

string

采用适合显示的格式的常规调试信息。

错误信息

有关响应的错误信息。

JSON 表示法
{
  "errorMessages": [
    {
      object (ErrorMessage)
    }
  ]
}
字段
errorMessages[]

object (ErrorMessage)

ErrorMessage

每个来源响应的错误消息。

JSON 表示法
{
  "source": {
    object (Source)
  },
  "errorMessage": string
}
字段
source

object (Source)

errorMessage

string

ResultCounts

结果计数信息

JSON 表示法
{
  "sourceResultCounts": [
    {
      object (SourceResultCount)
    }
  ]
}
字段
sourceResultCounts[]

object (SourceResultCount)

包含结果的每个来源的结果数信息。

SourceResultCount

每个来源的结果数信息。

JSON 表示法
{
  "source": {
    object (Source)
  },
  "hasMoreResults": boolean,

  // Union field result_count can be only one of the following:
  "resultCountEstimate": string,
  "resultCountExact": string
  // End of list of possible types for union field result_count.
}
字段
source

object (Source)

与结果数信息关联的来源。

hasMoreResults

boolean

此来源是否还有更多搜索结果。

联合字段 result_count

result_count 只能是下列其中一项:

resultCountEstimate

string (int64 format)

此来源的估算结果数。

resultCountExact

string (int64 format)

此来源的确切结果数。