#[non_exhaustive]pub struct ConversationalSearchRequest {
pub placement: String,
pub branch: String,
pub query: String,
pub page_categories: Vec<String>,
pub conversation_id: String,
pub search_params: Option<SearchParams>,
pub visitor_id: String,
pub user_info: Option<UserInfo>,
pub conversational_filtering_spec: Option<ConversationalFilteringSpec>,
pub user_labels: HashMap<String, String>,
pub safety_settings: Vec<SafetySetting>,
/* private fields */
}Expand description
Request message for [ConversationalSearchService.ConversationalSearch][google.cloud.retail.v2.ConversationalSearchService.ConversationalSearch] method.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.placement: StringRequired. The resource name of the search engine placement, such as
projects/*/locations/global/catalogs/default_catalog/placements/default_search
or
projects/*/locations/global/catalogs/default_catalog/servingConfigs/default_serving_config
This field is used to identify the serving config name and the set
of models that will be used to make the search.
branch: StringRequired. The branch resource name, such as
projects/*/locations/global/catalogs/default_catalog/branches/0.
Use “default_branch” as the branch ID or leave this field empty, to search products under the default branch.
query: StringOptional. Raw search query to be searched for.
If this field is empty, the request is considered a category browsing request.
page_categories: Vec<String>Optional. The categories associated with a category page. Must be set for category navigation queries to achieve good search quality. The format should be the same as UserEvent.page_categories;
To represent full path of category, use ‘>’ sign to separate different hierarchies. If ‘>’ is part of the category name, replace it with other character(s).
Category pages include special pages such as sales or promotions. For instance, a special sale page may have the category hierarchy: “pageCategories” : [“Sales > 2017 Black Friday Deals”].
conversation_id: StringOptional. This field specifies the conversation id, which maintains the state of the conversation between client side and server side. Use the value from the previous ConversationalSearchResponse.conversation_id. For the initial request, this should be empty.
search_params: Option<SearchParams>Optional. Search parameters.
visitor_id: StringRequired. A unique identifier for tracking visitors. For example, this could be implemented with an HTTP cookie, which should be able to uniquely identify a visitor on a single device. This unique identifier should not change if the visitor logs in or out of the website.
This should be the same identifier as UserEvent.visitor_id.
The field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.
user_info: Option<UserInfo>Optional. User information.
conversational_filtering_spec: Option<ConversationalFilteringSpec>Optional. This field specifies all conversational filtering related parameters.
user_labels: HashMap<String, String>Optional. The user labels applied to a resource must meet the following requirements:
- Each resource can have multiple labels, up to a maximum of 64.
- Each label must be a key-value pair.
- Keys have a minimum length of 1 character and a maximum length of 63 characters and cannot be empty. Values can be empty and have a maximum length of 63 characters.
- Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. All characters must use UTF-8 encoding, and international characters are allowed.
- The key portion of a label must be unique. However, you can use the same key with multiple resources.
- Keys must start with a lowercase letter or international character.
See Google Cloud Document for more details.
safety_settings: Vec<SafetySetting>Optional. The safety settings to be applied to the generated content.
Implementations§
Source§impl ConversationalSearchRequest
impl ConversationalSearchRequest
Sourcepub fn set_placement<T: Into<String>>(self, v: T) -> Self
pub fn set_placement<T: Into<String>>(self, v: T) -> Self
Sourcepub fn set_branch<T: Into<String>>(self, v: T) -> Self
pub fn set_branch<T: Into<String>>(self, v: T) -> Self
Sourcepub fn set_page_categories<T, V>(self, v: T) -> Self
pub fn set_page_categories<T, V>(self, v: T) -> Self
Sets the value of page_categories.
§Example
let x = ConversationalSearchRequest::new().set_page_categories(["a", "b", "c"]);Sourcepub fn set_conversation_id<T: Into<String>>(self, v: T) -> Self
pub fn set_conversation_id<T: Into<String>>(self, v: T) -> Self
Sets the value of conversation_id.
§Example
let x = ConversationalSearchRequest::new().set_conversation_id("example");Sourcepub fn set_search_params<T>(self, v: T) -> Selfwhere
T: Into<SearchParams>,
pub fn set_search_params<T>(self, v: T) -> Selfwhere
T: Into<SearchParams>,
Sets the value of search_params.
§Example
use google_cloud_retail_v2::model::conversational_search_request::SearchParams;
let x = ConversationalSearchRequest::new().set_search_params(SearchParams::default()/* use setters */);Sourcepub fn set_or_clear_search_params<T>(self, v: Option<T>) -> Selfwhere
T: Into<SearchParams>,
pub fn set_or_clear_search_params<T>(self, v: Option<T>) -> Selfwhere
T: Into<SearchParams>,
Sets or clears the value of search_params.
§Example
use google_cloud_retail_v2::model::conversational_search_request::SearchParams;
let x = ConversationalSearchRequest::new().set_or_clear_search_params(Some(SearchParams::default()/* use setters */));
let x = ConversationalSearchRequest::new().set_or_clear_search_params(None::<SearchParams>);Sourcepub fn set_visitor_id<T: Into<String>>(self, v: T) -> Self
pub fn set_visitor_id<T: Into<String>>(self, v: T) -> Self
Sets the value of visitor_id.
§Example
let x = ConversationalSearchRequest::new().set_visitor_id("example");Sourcepub fn set_user_info<T>(self, v: T) -> Self
pub fn set_user_info<T>(self, v: T) -> Self
Sourcepub fn set_or_clear_user_info<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_user_info<T>(self, v: Option<T>) -> Self
Sourcepub fn set_conversational_filtering_spec<T>(self, v: T) -> Selfwhere
T: Into<ConversationalFilteringSpec>,
pub fn set_conversational_filtering_spec<T>(self, v: T) -> Selfwhere
T: Into<ConversationalFilteringSpec>,
Sets the value of conversational_filtering_spec.
§Example
use google_cloud_retail_v2::model::conversational_search_request::ConversationalFilteringSpec;
let x = ConversationalSearchRequest::new().set_conversational_filtering_spec(ConversationalFilteringSpec::default()/* use setters */);Sourcepub fn set_or_clear_conversational_filtering_spec<T>(self, v: Option<T>) -> Selfwhere
T: Into<ConversationalFilteringSpec>,
pub fn set_or_clear_conversational_filtering_spec<T>(self, v: Option<T>) -> Selfwhere
T: Into<ConversationalFilteringSpec>,
Sets or clears the value of conversational_filtering_spec.
§Example
use google_cloud_retail_v2::model::conversational_search_request::ConversationalFilteringSpec;
let x = ConversationalSearchRequest::new().set_or_clear_conversational_filtering_spec(Some(ConversationalFilteringSpec::default()/* use setters */));
let x = ConversationalSearchRequest::new().set_or_clear_conversational_filtering_spec(None::<ConversationalFilteringSpec>);Sourcepub fn set_user_labels<T, K, V>(self, v: T) -> Self
pub fn set_user_labels<T, K, V>(self, v: T) -> Self
Sets the value of user_labels.
§Example
let x = ConversationalSearchRequest::new().set_user_labels([
("key0", "abc"),
("key1", "xyz"),
]);Sourcepub fn set_safety_settings<T, V>(self, v: T) -> Self
pub fn set_safety_settings<T, V>(self, v: T) -> Self
Sets the value of safety_settings.
§Example
use google_cloud_retail_v2::model::SafetySetting;
let x = ConversationalSearchRequest::new()
.set_safety_settings([
SafetySetting::default()/* use setters */,
SafetySetting::default()/* use (different) setters */,
]);Trait Implementations§
Source§impl Clone for ConversationalSearchRequest
impl Clone for ConversationalSearchRequest
Source§fn clone(&self) -> ConversationalSearchRequest
fn clone(&self) -> ConversationalSearchRequest
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more