Struct googapis::google::cloud::retail::v2::search_response::SearchResult[][src]

pub struct SearchResult {
    pub id: String,
    pub product: Option<Product>,
    pub matching_variant_count: i32,
    pub matching_variant_fields: HashMap<String, FieldMask>,
    pub variant_rollup_values: HashMap<String, Value>,
}
Expand description

Represents the search results.

Fields

id: String

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

product: Option<Product>

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.

matching_variant_count: i32

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

matching_variant_fields: HashMap<String, FieldMask>

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.

variant_rollup_values: HashMap<String, Value>

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”.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Returns the “default value” for a type. Read more

Returns the encoded length of the message without a length delimiter.

Clears the message, resetting all fields to their default.

Encodes the message to a buffer. Read more

Encodes the message to a newly allocated buffer.

Encodes the message with a length-delimiter to a buffer. Read more

Encodes the message with a length-delimiter to a newly allocated buffer.

Decodes an instance of the message from a buffer. Read more

Decodes a length-delimited instance of the message from the buffer.

Decodes an instance of the message from a buffer, and merges it into self. Read more

Decodes a length-delimited instance of the message from buffer, and merges it into self. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Performs the conversion.

Wrap the input message T in a tonic::Request

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more