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)
  },
  "naturalLanguageQueryUnderstandingInfo": {
    object (NaturalLanguageQueryUnderstandingInfo)
  },
  "sessionInfo": {
    object (SessionInfo)
  },
  "searchLinkPromotions": [
    {
      object (SearchLinkPromotion)
    }
  ],
  "semanticState": enum (SemanticState)
}
필드
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)

반환된 결과의 검색어 확장 정보입니다.

naturalLanguageQueryUnderstandingInfo

object (NaturalLanguageQueryUnderstandingInfo)

출력 전용입니다. 반환된 결과의 자연어 쿼리 이해 정보입니다.

sessionInfo

object (SessionInfo)

세션 정보

SearchRequest.session이 제공된 경우에만 설정됩니다. 자세한 내용은 설명을 참조하세요.

semanticState

enum (SemanticState)

출력 전용입니다. 검색 응답의 시맨틱 상태를 나타냅니다.

패싯

패싯 결과입니다.

JSON 표현
{
  "key": string,
  "values": [
    {
      object (FacetValue)
    }
  ],
  "dynamicFacet": boolean
}
필드
key

string

이 패싯의 키입니다. 예를 들면 "colors" 또는 "price"입니다. SearchRequest.FacetSpec.FacetKey.key와 일치합니다.

values[]

object (FacetValue)

이 필드의 패싯 값입니다.

dynamicFacet

boolean

패싯이 동적으로 생성되는지 여부입니다.

FacetValue

값 이름과 개수가 포함된 패싯 값입니다.

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_value는 다음 중 하나여야 합니다.
value

string

패싯의 텍스트 값입니다(예: 'color' 패싯의 '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로 설정된 경우에만 설정됩니다.

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를 지정하면 검색 호출의 검색 결과 컨텍스트에서 답변이 생성됩니다.

SemanticState

검색 응답의 시맨틱 상태입니다.

열거형
SEMANTIC_STATE_UNSPECIFIED 기본값 사용해서는 안 됩니다.
DISABLED 이 검색 응답에 대해 시맨틱 검색이 사용 중지되었습니다.
ENABLED 이 검색 응답에 시맨틱 검색이 사용 설정되었습니다.