Struct google_api_proto::google::cloud::retail::v2alpha::search_response::SearchResult
source · pub struct SearchResult {
pub id: String,
pub product: Option<Product>,
pub matching_variant_count: i32,
pub matching_variant_fields: BTreeMap<String, FieldMask>,
pub variant_rollup_values: BTreeMap<String, Value>,
pub personal_labels: Vec<String>,
}
Expand description
Represents the search results.
Fields§
§id: String
[Product.id][google.cloud.retail.v2alpha.Product.id] of the searched [Product][google.cloud.retail.v2alpha.Product].
product: Option<Product>
The product data snippet in the search response. Only [Product.name][google.cloud.retail.v2alpha.Product.name] is guaranteed to be populated.
[Product.variants][google.cloud.retail.v2alpha.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.v2alpha.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.v2alpha.Product.Type.VARIANT] [Product][google.cloud.retail.v2alpha.Product]s.
matching_variant_fields: BTreeMap<String, FieldMask>
If a [variant][google.cloud.retail.v2alpha.Product.Type.VARIANT] [Product][google.cloud.retail.v2alpha.Product] matches the search query, this map indicates which [Product][google.cloud.retail.v2alpha.Product] fields are matched. The key is the [Product.name][google.cloud.retail.v2alpha.Product.name], the value is a field mask of the matched [Product][google.cloud.retail.v2alpha.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.v2alpha.ColorInfo] and the query.
variant_rollup_values: BTreeMap<String, Value>
The rollup matching [variant][google.cloud.retail.v2alpha.Product.Type.VARIANT] [Product][google.cloud.retail.v2alpha.Product] attributes. The key is one of the [SearchRequest.variant_rollup_keys][google.cloud.retail.v2alpha.SearchRequest.variant_rollup_keys]. The values are the merged and de-duplicated [Product][google.cloud.retail.v2alpha.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.v2alpha.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”.
personal_labels: Vec<String>
Specifies previous events related to this product for this user based on [UserEvent][google.cloud.retail.v2alpha.UserEvent] with same [SearchRequest.visitor_id][google.cloud.retail.v2alpha.SearchRequest.visitor_id] or [UserInfo.user_id][google.cloud.retail.v2alpha.UserInfo.user_id].
This is set only when [SearchRequest.PersonalizationSpec.mode][google.cloud.retail.v2alpha.SearchRequest.PersonalizationSpec.mode] is [SearchRequest.PersonalizationSpec.Mode.AUTO][google.cloud.retail.v2alpha.SearchRequest.PersonalizationSpec.Mode.AUTO].
Possible values:
purchased
: Indicates that this product has been purchased before.
Trait Implementations§
source§impl Clone for SearchResult
impl Clone for SearchResult
source§fn clone(&self) -> SearchResult
fn clone(&self) -> SearchResult
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for SearchResult
impl Debug for SearchResult
source§impl Default for SearchResult
impl Default for SearchResult
source§impl Message for SearchResult
impl Message for SearchResult
source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
source§fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
source§fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
. Read moresource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
.source§impl PartialEq for SearchResult
impl PartialEq for SearchResult
source§fn eq(&self, other: &SearchResult) -> bool
fn eq(&self, other: &SearchResult) -> bool
self
and other
values to be equal, and is used
by ==
.impl StructuralPartialEq for SearchResult
Auto Trait Implementations§
impl Freeze for SearchResult
impl RefUnwindSafe for SearchResult
impl Send for SearchResult
impl Sync for SearchResult
impl Unpin for SearchResult
impl UnwindSafe for SearchResult
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request