public sealed class SearchResult : IMessage<SearchResponse.Types.SearchResult>, IEquatable<SearchResponse.Types.SearchResult>, IDeepCloneable<SearchResponse.Types.SearchResult>, IBufferMessage, IMessage
Represents the search results.
Implements
IMessage<SearchResponse.Types.SearchResult>, IEquatable<SearchResponse.Types.SearchResult>, IDeepCloneable<SearchResponse.Types.SearchResult>, IBufferMessage, IMessageNamespace
Google.Cloud.Retail.V2Assembly
Google.Cloud.Retail.V2.dll
Constructors
SearchResult()
public SearchResult()
SearchResult(SearchResponse.Types.SearchResult)
public SearchResult(SearchResponse.Types.SearchResult other)
Parameter | |
---|---|
Name | Description |
other | SearchResponse.Types.SearchResult |
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 | |
---|---|
Type | Description |
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 | |
---|---|
Type | Description |
Int32 |
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 | |
---|---|
Type | Description |
MapField<String, FieldMask> |
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 | |
---|---|
Type | Description |
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 | |
---|---|
Type | Description |
MapField<String, Value> |