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

透過 Control 服務套用的控制項。

geoSearchDebugInfo[]

object (GeoSearchDebugInfo)

queryExpansionInfo

object (QueryExpansionInfo)

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

naturalLanguageQueryUnderstandingInfo

object (NaturalLanguageQueryUnderstandingInfo)

傳回結果的自然語言查詢理解資訊。

sessionInfo

object (SessionInfo)

工作階段資訊。

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

oneBoxResults[]

object (OneBoxResult)

一盒結果清單。一個方塊中可能會顯示多種不同類型的結果。

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 相符。

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

輸入查詢中分類的意圖。

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)

邏輯「And」複合運算子,可連結多個運算式。

orExpr

object (OrExpression)

邏輯「Or」複合運算子,可連結多個運算式。

StringConstraint

字串欄位的限制運算式。

JSON 表示法
{
  "fieldName": string,
  "values": [
    string
  ],
  "querySegment": string
}
欄位
fieldName

string

結構定義中定義的字串欄位名稱。

values[]

string

字串欄位的值。只有在欄位值與此處指定的值相符時,系統才會傳回記錄。

querySegment

string

找出搜尋查詢中與篩選條件相符的關鍵字。

NumberConstraint

數字欄位的限制運算式。範例:價格 < 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 是特定類型所有結果的容器,我們希望在 UI 中以不同方式顯示這些結果。

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

enum (OneBoxType)

「一個方塊」結果的類型。

searchResults[]

object (SearchResult)

這個 One box 的搜尋結果。

OneBoxType

「一個方塊」結果的類型。

列舉
ONE_BOX_TYPE_UNSPECIFIED 預設值。不應使用。
PEOPLE 其中一個方塊結果包含使用者搜尋結果。
ORGANIZATION 一個方塊結果包含機構結果。
SLACK 一個方塊結果包含鬆弛結果。
KNOWLEDGE_GRAPH OneBox 結果包含知識圖譜搜尋回應。