Retail v2 API - Class SearchResponse.Types.SearchResult (2.7.0)

public sealed class SearchResponse.Types.SearchResult : IMessage<SearchResponse.Types.SearchResult>, IEquatable<SearchResponse.Types.SearchResult>, IDeepCloneable<SearchResponse.Types.SearchResult>, IBufferMessage, IMessage

Reference documentation and code samples for the Retail v2 API class SearchResponse.Types.SearchResult.

Represents the search results.

Inheritance

object > SearchResponse.Types.SearchResult

Namespace

Google.Cloud.Retail.V2

Assembly

Google.Cloud.Retail.V2.dll

Constructors

SearchResult()

public SearchResult()

SearchResult(SearchResult)

public SearchResult(SearchResponse.Types.SearchResult other)
Parameter
NameDescription
otherSearchResponseTypesSearchResult

Properties

Id

public string Id { get; set; }

[Product.id][google.cloud.retail.v2.Product.id] of the searched [Product][google.cloud.retail.v2.Product].

Property Value
TypeDescription
string

MatchingVariantCount

public int MatchingVariantCount { get; set; }

The count of matched [variant][google.cloud.retail.v2.Product.Type.VARIANT] [Product][google.cloud.retail.v2.Product]s.

Property Value
TypeDescription
int

MatchingVariantFields

public MapField<string, FieldMask> MatchingVariantFields { get; }

If a [variant][google.cloud.retail.v2.Product.Type.VARIANT] [Product][google.cloud.retail.v2.Product] matches the search query, this map indicates which [Product][google.cloud.retail.v2.Product] fields are matched. The key is the [Product.name][google.cloud.retail.v2.Product.name], the value is a field mask of the matched [Product][google.cloud.retail.v2.Product] fields. If matched attributes cannot be determined, this map will be empty.

For example, a key "sku1" with field mask "products.color_info" indicates there is a match between "sku1" [ColorInfo][google.cloud.retail.v2.ColorInfo] and the query.

Property Value
TypeDescription
MapFieldstringFieldMask

PersonalLabels

public RepeatedField<string> PersonalLabels { get; }

Specifies previous events related to this product for this user based on [UserEvent][google.cloud.retail.v2.UserEvent] with same [SearchRequest.visitor_id][google.cloud.retail.v2.SearchRequest.visitor_id] or [UserInfo.user_id][google.cloud.retail.v2.UserInfo.user_id].

This is set only when [SearchRequest.PersonalizationSpec.mode][google.cloud.retail.v2.SearchRequest.PersonalizationSpec.mode] is [SearchRequest.PersonalizationSpec.Mode.AUTO][google.cloud.retail.v2.SearchRequest.PersonalizationSpec.Mode.AUTO].

Possible values:

  • purchased: Indicates that this product has been purchased before.
Property Value
TypeDescription
RepeatedFieldstring

Product

public Product Product { get; set; }

The product data snippet in the search response. Only [Product.name][google.cloud.retail.v2.Product.name] is guaranteed to be populated.

[Product.variants][google.cloud.retail.v2.Product.variants] contains the product variants that match the search query. If there are multiple product variants matching the query, top 5 most relevant product variants are returned and ordered by relevancy.

If relevancy can be deternmined, use [matching_variant_fields][google.cloud.retail.v2.SearchResponse.SearchResult.matching_variant_fields] to look up matched product variants fields. If relevancy cannot be determined, e.g. when searching "shoe" all products in a shoe product can be a match, 5 product variants are returned but order is meaningless.

Property Value
TypeDescription
Product

VariantRollupValues

public MapField<string, Value> VariantRollupValues { get; }

The rollup matching [variant][google.cloud.retail.v2.Product.Type.VARIANT] [Product][google.cloud.retail.v2.Product] attributes. The key is one of the [SearchRequest.variant_rollup_keys][google.cloud.retail.v2.SearchRequest.variant_rollup_keys]. The values are the merged and de-duplicated [Product][google.cloud.retail.v2.Product] attributes. Notice that the rollup values are respect filter. For example, when filtering by "colorFamilies:ANY("red")" and rollup "colorFamilies", only "red" is returned.

For textual and numerical attributes, the rollup values is a list of string or double values with type [google.protobuf.ListValue][google.protobuf.ListValue]. For example, if there are two variants with colors "red" and "blue", the rollup values are

{ key: "colorFamilies"
  value {
    list_value {
      values { string_value: "red" }
      values { string_value: "blue" }
     }
  }
}

For [FulfillmentInfo][google.cloud.retail.v2.FulfillmentInfo], the rollup values is a double value with type [google.protobuf.Value][google.protobuf.Value]. For example, {key: "pickupInStore.store1" value { number_value: 10 }} means a there are 10 variants in this product are available in the store "store1".

Property Value
TypeDescription
MapFieldstringValue