pub struct ServingConfig {
Show 19 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: i32, pub enable_category_filter_level: String, pub personalization_spec: Option<PersonalizationSpec>, pub solution_types: Vec<i32>,
}
Expand description

Configures metadata that is used to generate serving time results (e.g. search results or recommendation predictions).

Fields§

§name: String

Immutable. Fully qualified name projects/*/locations/global/catalogs/*/servingConfig/*

§display_name: String

Required. 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: String

The id of the model in the same [Catalog][google.cloud.retail.v2.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][google.cloud.retail.v2.ServingConfig.solution_types] is [SOLUTION_TYPE_RECOMMENDATION][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_RECOMMENDATION].

§price_reranking_level: String

How 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-reranking
  • low-price-reranking
  • medium-price-reranking
  • high-price-reranking

If not specified, we choose default based on model type. Default value: no-price-reranking.

Can only be set if [solution_types][google.cloud.retail.v2.ServingConfig.solution_types] is [SOLUTION_TYPE_RECOMMENDATION][google.cloud.retail.v2main.SolutionType.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][google.cloud.retail.v2.Control] resources with only the Facet control set. These controls are assumed to be in the same [Catalog][google.cloud.retail.v2.Catalog] as the [ServingConfig][google.cloud.retail.v2.ServingConfig]. A maximum of 100 values are allowed. Otherwise, an INVALID_ARGUMENT error is returned.

Can only be set if [solution_types][google.cloud.retail.v2.ServingConfig.solution_types] is [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2main.SolutionType.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][google.cloud.retail.v2.ServingConfig.solution_types] is [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2main.SolutionType.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][google.cloud.retail.v2.ServingConfig.boost_control_ids] and [SearchRequest.boost_spec][google.cloud.retail.v2.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][google.cloud.retail.v2.ServingConfig.solution_types] is [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2main.SolutionType.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][google.cloud.retail.v2.ServingConfig.solution_types] is [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2main.SolutionType.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][google.cloud.retail.v2.ServingConfig.solution_types] is [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2main.SolutionType.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][google.cloud.retail.v2.ServingConfig.solution_types] is [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2main.SolutionType.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][google.cloud.retail.v2.ServingConfig.solution_types] is [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2main.SolutionType.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][google.cloud.retail.v2.ServingConfig.solution_types] is [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2main.SolutionType.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][google.cloud.retail.v2.ServingConfig.solution_types] is [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2main.SolutionType.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][google.cloud.retail.v2.ServingConfig.solution_types] is [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_SEARCH].

§diversity_level: String

How much diversity to use in recommendation model results e.g. medium-diversity or high-diversity. Currently supported values:

  • no-diversity
  • low-diversity
  • medium-diversity
  • high-diversity
  • auto-diversity

If not specified, we choose default based on recommendation model type. Default value: no-diversity.

Can only be set if [solution_types][google.cloud.retail.v2.ServingConfig.solution_types] is [SOLUTION_TYPE_RECOMMENDATION][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_RECOMMENDATION].

§diversity_type: i32

What kind of diversity to use - data driven or rule based. If unset, the server behavior defaults to [RULE_BASED_DIVERSITY][google.cloud.retail.v2.ServingConfig.DiversityType.RULE_BASED_DIVERSITY].

§enable_category_filter_level: String

Whether 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][google.cloud.retail.v2.ServingConfig.solution_types] is [SOLUTION_TYPE_RECOMMENDATION][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_RECOMMENDATION].

§personalization_spec: Option<PersonalizationSpec>

The specification for personalization spec.

Can only be set if [solution_types][google.cloud.retail.v2.ServingConfig.solution_types] is [SOLUTION_TYPE_SEARCH][google.cloud.retail.v2main.SolutionType.SOLUTION_TYPE_SEARCH].

Notice that if both [ServingConfig.personalization_spec][google.cloud.retail.v2.ServingConfig.personalization_spec] and [SearchRequest.personalization_spec][google.cloud.retail.v2.SearchRequest.personalization_spec] are set. [SearchRequest.personalization_spec][google.cloud.retail.v2.SearchRequest.personalization_spec] will override [ServingConfig.personalization_spec][google.cloud.retail.v2.ServingConfig.personalization_spec].

§solution_types: Vec<i32>

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

source

pub fn solution_types( &self ) -> FilterMap<Cloned<Iter<'_, i32>>, fn(_: i32) -> Option<SolutionType>>

Returns an iterator which yields the valid enum values contained in solution_types.

source

pub fn push_solution_types(&mut self, value: SolutionType)

Appends the provided enum value to solution_types.

source

pub fn diversity_type(&self) -> DiversityType

Returns the enum value of diversity_type, or the default if the field is set to an invalid enum value.

source

pub fn set_diversity_type(&mut self, value: DiversityType)

Sets diversity_type to the provided enum value.

Trait Implementations§

source§

impl Clone for ServingConfig

source§

fn clone(&self) -> ServingConfig

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for ServingConfig

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for ServingConfig

source§

fn default() -> Self

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

impl Message for ServingConfig

source§

fn encoded_len(&self) -> usize

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

fn clear(&mut self)

Clears the message, resetting all fields to their default.
source§

fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>
where B: BufMut, Self: Sized,

Encodes the message to a buffer. Read more
source§

fn encode_to_vec(&self) -> Vec<u8>
where Self: Sized,

Encodes the message to a newly allocated buffer.
source§

fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError>
where B: BufMut, Self: Sized,

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

fn encode_length_delimited_to_vec(&self) -> Vec<u8>
where Self: Sized,

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

fn decode<B>(buf: B) -> Result<Self, DecodeError>
where B: Buf, Self: Default,

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

fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError>
where B: Buf, Self: Default,

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

fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>
where B: Buf, Self: Sized,

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

fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError>
where B: Buf, Self: Sized,

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

impl PartialEq for ServingConfig

source§

fn eq(&self, other: &ServingConfig) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl StructuralPartialEq for ServingConfig

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> FromRef<T> for T
where T: Clone,

§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

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

fn in_current_span(self) -> Instrumented<Self>

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

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoRequest<T> for T

source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

fn clone_into(&self, target: &mut T)

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

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

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

fn with_current_subscriber(self) -> WithDispatch<Self>

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