#[non_exhaustive]pub struct ServingConfig {Show 20 fields
pub name: String,
pub display_name: String,
pub model_id: String,
pub price_reranking_level: String,
pub facet_control_ids: Vec<String>,
pub dynamic_facet_spec: Option<DynamicFacetSpec>,
pub boost_control_ids: Vec<String>,
pub filter_control_ids: Vec<String>,
pub redirect_control_ids: Vec<String>,
pub twoway_synonyms_control_ids: Vec<String>,
pub oneway_synonyms_control_ids: Vec<String>,
pub do_not_associate_control_ids: Vec<String>,
pub replacement_control_ids: Vec<String>,
pub ignore_control_ids: Vec<String>,
pub diversity_level: String,
pub diversity_type: DiversityType,
pub enable_category_filter_level: String,
pub ignore_recs_denylist: bool,
pub personalization_spec: Option<PersonalizationSpec>,
pub solution_types: Vec<SolutionType>,
/* private fields */
}Expand description
Configures metadata that is used to generate serving time results (e.g. search results or recommendation predictions).
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.name: StringImmutable. Fully qualified name
projects/*/locations/global/catalogs/*/servingConfig/*
display_name: StringRequired. The human readable serving config display name. Used in Retail UI.
This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.
model_id: StringThe id of the model in the same Catalog to use at serving time. Currently only RecommendationModels are supported: https://cloud.google.com/retail/recommendations-ai/docs/create-models Can be changed but only to a compatible model (e.g. others-you-may-like CTR to others-you-may-like CVR).
Required when solution_types is SOLUTION_TYPE_RECOMMENDATION.
price_reranking_level: StringHow much price ranking we want in serving results. Price reranking causes product items with a similar recommendation probability to be ordered by price, with the highest-priced items first. This setting could result in a decrease in click-through and conversion rates. Allowed values are:
no-price-rerankinglow-price-rerankingmedium-price-rerankinghigh-price-reranking
If not specified, we choose default based on model type. Default value:
no-price-reranking.
Can only be set if solution_types is SOLUTION_TYPE_RECOMMENDATION.
facet_control_ids: Vec<String>Facet specifications for faceted search. If empty, no facets are returned. The ids refer to the ids of Control resources with only the Facet control set. These controls are assumed to be in the same Catalog as the ServingConfig. A maximum of 100 values are allowed. Otherwise, an INVALID_ARGUMENT error is returned.
Can only be set if solution_types is SOLUTION_TYPE_SEARCH.
dynamic_facet_spec: Option<DynamicFacetSpec>The specification for dynamically generated facets. Notice that only textual facets can be dynamically generated.
Can only be set if solution_types is SOLUTION_TYPE_SEARCH.
boost_control_ids: Vec<String>Condition boost specifications. If a product matches multiple conditions in the specifications, boost scores from these specifications are all applied and combined in a non-linear way. Maximum number of specifications is 100.
Notice that if both ServingConfig.boost_control_ids and SearchRequest.boost_spec are set, the boost conditions from both places are evaluated. If a search request matches multiple boost conditions, the final boost score is equal to the sum of the boost scores from all matched boost conditions.
Can only be set if solution_types is SOLUTION_TYPE_SEARCH.
filter_control_ids: Vec<String>Condition filter specifications. If a product matches multiple conditions in the specifications, filters from these specifications are all applied and combined via the AND operator. Maximum number of specifications is 100.
Can only be set if solution_types is SOLUTION_TYPE_SEARCH.
redirect_control_ids: Vec<String>Condition redirect specifications. Only the first triggered redirect action is applied, even if multiple apply. Maximum number of specifications is 1000.
Can only be set if solution_types is SOLUTION_TYPE_SEARCH.
twoway_synonyms_control_ids: Vec<String>Condition synonyms specifications. If multiple syonyms conditions match, all matching synonyms control in the list will execute. Order of controls in the list will not matter. Maximum number of specifications is 100.
Can only be set if solution_types is SOLUTION_TYPE_SEARCH.
oneway_synonyms_control_ids: Vec<String>Condition oneway synonyms specifications. If multiple oneway synonyms conditions match, all matching oneway synonyms controls in the list will execute. Order of controls in the list will not matter. Maximum number of specifications is 100.
Can only be set if solution_types is SOLUTION_TYPE_SEARCH.
do_not_associate_control_ids: Vec<String>Condition do not associate specifications. If multiple do not associate conditions match, all matching do not associate controls in the list will execute.
- Order does not matter.
- Maximum number of specifications is 100.
Can only be set if solution_types is SOLUTION_TYPE_SEARCH.
replacement_control_ids: Vec<String>Condition replacement specifications.
- Applied according to the order in the list.
- A previously replaced term can not be re-replaced.
- Maximum number of specifications is 100.
Can only be set if solution_types is SOLUTION_TYPE_SEARCH.
ignore_control_ids: Vec<String>Condition ignore specifications. If multiple ignore conditions match, all matching ignore controls in the list will execute.
- Order does not matter.
- Maximum number of specifications is 100.
Can only be set if solution_types is SOLUTION_TYPE_SEARCH.
diversity_level: StringHow much diversity to use in recommendation model results e.g.
medium-diversity or high-diversity. Currently supported values:
no-diversitylow-diversitymedium-diversityhigh-diversityauto-diversity
If not specified, we choose default based on recommendation model
type. Default value: no-diversity.
Can only be set if solution_types is SOLUTION_TYPE_RECOMMENDATION.
diversity_type: DiversityTypeWhat kind of diversity to use - data driven or rule based. If unset, the server behavior defaults to RULE_BASED_DIVERSITY.
enable_category_filter_level: StringWhether to add additional category filters on the similar-items model.
If not specified, we enable it by default.
Allowed values are:
no-category-match: No additional filtering of original results from the model and the customer’s filters.relaxed-category-match: Only keep results with categories that match at least one item categories in the PredictRequests’s context item.- If customer also sends filters in the PredictRequest, then the results will satisfy both conditions (user given and category match).
Can only be set if solution_types is SOLUTION_TYPE_RECOMMENDATION.
ignore_recs_denylist: boolWhen the flag is enabled, the products in the denylist will not be filtered out in the recommendation filtering results.
personalization_spec: Option<PersonalizationSpec>The specification for personalization spec.
Can only be set if solution_types is SOLUTION_TYPE_SEARCH.
Notice that if both ServingConfig.personalization_spec and SearchRequest.personalization_spec are set. SearchRequest.personalization_spec will override ServingConfig.personalization_spec.
solution_types: Vec<SolutionType>Required. Immutable. Specifies the solution types that a serving config can be associated with. Currently we support setting only one type of solution.
Implementations§
Source§impl ServingConfig
impl ServingConfig
pub fn new() -> Self
Sourcepub fn set_display_name<T: Into<String>>(self, v: T) -> Self
pub fn set_display_name<T: Into<String>>(self, v: T) -> Self
Sourcepub fn set_model_id<T: Into<String>>(self, v: T) -> Self
pub fn set_model_id<T: Into<String>>(self, v: T) -> Self
Sourcepub fn set_price_reranking_level<T: Into<String>>(self, v: T) -> Self
pub fn set_price_reranking_level<T: Into<String>>(self, v: T) -> Self
Sets the value of price_reranking_level.
§Example
let x = ServingConfig::new().set_price_reranking_level("example");Sourcepub fn set_facet_control_ids<T, V>(self, v: T) -> Self
pub fn set_facet_control_ids<T, V>(self, v: T) -> Self
Sets the value of facet_control_ids.
§Example
let x = ServingConfig::new().set_facet_control_ids(["a", "b", "c"]);Sourcepub fn set_dynamic_facet_spec<T>(self, v: T) -> Selfwhere
T: Into<DynamicFacetSpec>,
pub fn set_dynamic_facet_spec<T>(self, v: T) -> Selfwhere
T: Into<DynamicFacetSpec>,
Sets the value of dynamic_facet_spec.
§Example
use google_cloud_retail_v2::model::search_request::DynamicFacetSpec;
let x = ServingConfig::new().set_dynamic_facet_spec(DynamicFacetSpec::default()/* use setters */);Sourcepub fn set_or_clear_dynamic_facet_spec<T>(self, v: Option<T>) -> Selfwhere
T: Into<DynamicFacetSpec>,
pub fn set_or_clear_dynamic_facet_spec<T>(self, v: Option<T>) -> Selfwhere
T: Into<DynamicFacetSpec>,
Sets or clears the value of dynamic_facet_spec.
§Example
use google_cloud_retail_v2::model::search_request::DynamicFacetSpec;
let x = ServingConfig::new().set_or_clear_dynamic_facet_spec(Some(DynamicFacetSpec::default()/* use setters */));
let x = ServingConfig::new().set_or_clear_dynamic_facet_spec(None::<DynamicFacetSpec>);Sourcepub fn set_boost_control_ids<T, V>(self, v: T) -> Self
pub fn set_boost_control_ids<T, V>(self, v: T) -> Self
Sets the value of boost_control_ids.
§Example
let x = ServingConfig::new().set_boost_control_ids(["a", "b", "c"]);Sourcepub fn set_filter_control_ids<T, V>(self, v: T) -> Self
pub fn set_filter_control_ids<T, V>(self, v: T) -> Self
Sets the value of filter_control_ids.
§Example
let x = ServingConfig::new().set_filter_control_ids(["a", "b", "c"]);Sourcepub fn set_redirect_control_ids<T, V>(self, v: T) -> Self
pub fn set_redirect_control_ids<T, V>(self, v: T) -> Self
Sets the value of redirect_control_ids.
§Example
let x = ServingConfig::new().set_redirect_control_ids(["a", "b", "c"]);Sourcepub fn set_twoway_synonyms_control_ids<T, V>(self, v: T) -> Self
pub fn set_twoway_synonyms_control_ids<T, V>(self, v: T) -> Self
Sets the value of twoway_synonyms_control_ids.
§Example
let x = ServingConfig::new().set_twoway_synonyms_control_ids(["a", "b", "c"]);Sourcepub fn set_oneway_synonyms_control_ids<T, V>(self, v: T) -> Self
pub fn set_oneway_synonyms_control_ids<T, V>(self, v: T) -> Self
Sets the value of oneway_synonyms_control_ids.
§Example
let x = ServingConfig::new().set_oneway_synonyms_control_ids(["a", "b", "c"]);Sourcepub fn set_do_not_associate_control_ids<T, V>(self, v: T) -> Self
pub fn set_do_not_associate_control_ids<T, V>(self, v: T) -> Self
Sets the value of do_not_associate_control_ids.
§Example
let x = ServingConfig::new().set_do_not_associate_control_ids(["a", "b", "c"]);Sourcepub fn set_replacement_control_ids<T, V>(self, v: T) -> Self
pub fn set_replacement_control_ids<T, V>(self, v: T) -> Self
Sets the value of replacement_control_ids.
§Example
let x = ServingConfig::new().set_replacement_control_ids(["a", "b", "c"]);Sourcepub fn set_ignore_control_ids<T, V>(self, v: T) -> Self
pub fn set_ignore_control_ids<T, V>(self, v: T) -> Self
Sets the value of ignore_control_ids.
§Example
let x = ServingConfig::new().set_ignore_control_ids(["a", "b", "c"]);Sourcepub fn set_diversity_level<T: Into<String>>(self, v: T) -> Self
pub fn set_diversity_level<T: Into<String>>(self, v: T) -> Self
Sets the value of diversity_level.
§Example
let x = ServingConfig::new().set_diversity_level("example");Sourcepub fn set_diversity_type<T: Into<DiversityType>>(self, v: T) -> Self
pub fn set_diversity_type<T: Into<DiversityType>>(self, v: T) -> Self
Sets the value of diversity_type.
§Example
use google_cloud_retail_v2::model::serving_config::DiversityType;
let x0 = ServingConfig::new().set_diversity_type(DiversityType::RuleBasedDiversity);
let x1 = ServingConfig::new().set_diversity_type(DiversityType::DataDrivenDiversity);Sourcepub fn set_enable_category_filter_level<T: Into<String>>(self, v: T) -> Self
pub fn set_enable_category_filter_level<T: Into<String>>(self, v: T) -> Self
Sets the value of enable_category_filter_level.
§Example
let x = ServingConfig::new().set_enable_category_filter_level("example");Sourcepub fn set_ignore_recs_denylist<T: Into<bool>>(self, v: T) -> Self
pub fn set_ignore_recs_denylist<T: Into<bool>>(self, v: T) -> Self
Sets the value of ignore_recs_denylist.
§Example
let x = ServingConfig::new().set_ignore_recs_denylist(true);Sourcepub fn set_personalization_spec<T>(self, v: T) -> Selfwhere
T: Into<PersonalizationSpec>,
pub fn set_personalization_spec<T>(self, v: T) -> Selfwhere
T: Into<PersonalizationSpec>,
Sets the value of personalization_spec.
§Example
use google_cloud_retail_v2::model::search_request::PersonalizationSpec;
let x = ServingConfig::new().set_personalization_spec(PersonalizationSpec::default()/* use setters */);Sourcepub fn set_or_clear_personalization_spec<T>(self, v: Option<T>) -> Selfwhere
T: Into<PersonalizationSpec>,
pub fn set_or_clear_personalization_spec<T>(self, v: Option<T>) -> Selfwhere
T: Into<PersonalizationSpec>,
Sets or clears the value of personalization_spec.
§Example
use google_cloud_retail_v2::model::search_request::PersonalizationSpec;
let x = ServingConfig::new().set_or_clear_personalization_spec(Some(PersonalizationSpec::default()/* use setters */));
let x = ServingConfig::new().set_or_clear_personalization_spec(None::<PersonalizationSpec>);Sourcepub fn set_solution_types<T, V>(self, v: T) -> Self
pub fn set_solution_types<T, V>(self, v: T) -> Self
Sets the value of solution_types.
§Example
use google_cloud_retail_v2::model::SolutionType;
let x = ServingConfig::new().set_solution_types([
SolutionType::Recommendation,
SolutionType::Search,
]);Trait Implementations§
Source§impl Clone for ServingConfig
impl Clone for ServingConfig
Source§fn clone(&self) -> ServingConfig
fn clone(&self) -> ServingConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more