SearchResponse

SearchService.Search 方法的回應訊息。

JSON 表示法
{
  "results": [
    {
      object (SearchResult)
    }
  ],
  "facets": [
    {
      object (Facet)
    }
  ],
  "totalSize": integer,
  "attributionToken": string,
  "redirectUri": string,
  "nextPageToken": string,
  "correctedQuery": string,
  "summary": {
    object (Summary)
  },
  "queryExpansionInfo": {
    object (QueryExpansionInfo)
  },
  "sessionInfo": {
    object (SessionInfo)
  },
  "searchLinkPromotions": [
    {
      object (SearchLinkPromotion)
    }
  ]
}
欄位
results[]

object (SearchResult)

相符文件清單。順序代表排名。

facets[]

object (Facet)

使用者要求的構面結果。

totalSize

integer

相符項目的預估總數,與分頁無關。分頁傳回的 results 數量可能少於相符的 totalSize 數量。

attributionToken

string

不重複的搜尋符記。這應包含在這次搜尋產生的 UserEvent 記錄中,以便準確歸因搜尋模型成效。這也有助於在客戶服務情境中識別要求。

redirectUri

string

客戶定義的重新導向頁面 URI。如果觸發重新導向動作,系統不會執行搜尋,只會在回應中設定 redirectUriattributionToken

nextPageToken

string

可做為 SearchRequest.page_token 傳送的權杖,用於擷取後續網頁。如果省略這個欄位,就不會有後續頁面。

correctedQuery

string

如果找到拼字修正後的查詢,就會顯示在這裡。如果拼字修正類型為 AUTOMATIC,搜尋結果會以 correctedQuery 為準。否則系統會使用原始查詢進行搜尋。

summary

object (Summary)

摘要會顯示在搜尋結果中。只有在設定 SearchRequest.ContentSearchSpec.summary_spec 時,才會傳回這個欄位。

queryExpansionInfo

object (QueryExpansionInfo)

傳回結果的查詢擴展資訊。

sessionInfo

object (SessionInfo)

工作階段資訊。

只有在提供 SearchRequest.session 時才需要設定。詳情請參閱說明。

facet

Facet 結果。

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

string

這個 Facet 的鍵。例如 "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 值的項目數量。

聯集欄位 facet_value。包含值的 facet 值。facet_value 只能是下列其中一項:
value

string

商情項目的文字值,例如商情項目「colors」的「Black」。

interval

object (Interval)

商情項目的間隔值,例如商情項目「價格」的 [10, 20)。與 SearchRequest.FacetSpec.FacetKey.intervals 相符。

QueryExpansionInfo

說明查詢擴充的資訊,包括是否已擴充。

JSON 表示法
{
  "expandedQuery": boolean,
  "pinnedResultCount": string
}
欄位
expandedQuery

boolean

說明是否發生查詢擴充的布林值。

pinnedResultCount

string (int64 format)

釘選結果的數量。只有在擴展發生且 SearchRequest.QueryExpansionSpec.pin_unexpanded_results 設為 true 時,才會設定這個欄位。

SessionInfo

工作階段相關資訊。

JSON 表示法
{
  "name": string,
  "queryId": string
}
欄位
name

string

工作階段名稱。如果使用自動工作階段模式 (SearchRequest.session 以「-」結尾),這個欄位會保留新產生的工作階段名稱。

queryId

string

與此搜尋 API 呼叫相應的查詢 ID。一個工作階段可以有多個輪次,每個輪次都有專屬的查詢 ID。

在 Answer API 呼叫中指定工作階段名稱和這個查詢 ID,系統就會根據這項搜尋呼叫的搜尋結果生成回覆。