#[non_exhaustive]pub struct MediaConfig {
pub demotion_event_type: String,
pub demote_content_watched_past_days: i32,
pub content_freshness_cutoff_days: i32,
pub demote_content_watched: Option<DemoteContentWatched>,
/* private fields */
}serving-config-service only.Expand description
Specifies the configurations needed for Media Discovery. Currently we support:
demote_content_watched: Threshold for watched content demotion. Customers can specify if using watched content demotion or use viewed detail page. Using the content watched demotion, customers need to specify the watched minutes or percentage exceeds the threshold, the content will be demoted in the recommendation result.promote_fresh_content: cutoff days for fresh content promotion. Customers can specify if using content freshness promotion. If the content was published within the cutoff days, the content will be promoted in the recommendation result. Can only be set if SolutionType is SOLUTION_TYPE_RECOMMENDATION.
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.demotion_event_type: StringSpecifies the event type used for demoting recommendation result. Currently supported values:
view-item: Item viewed.media-play: Start/resume watching a video, playing a song, etc.media-complete: Finished or stopped midway through a video, song, etc.
If unset, watch history demotion will not be applied. Content freshness demotion will still be applied.
demote_content_watched_past_days: i32Optional. Specifies the number of days to look back for demoting watched content. If set to zero or unset, defaults to the maximum of 365 days.
content_freshness_cutoff_days: i32Specifies the content freshness used for recommendation result. Contents will be demoted if contents were published for more than content freshness cutoff days.
demote_content_watched: Option<DemoteContentWatched>Specify the threshold for demoting watched content, the threshold can be
either percentage or minutes value.
This must be set for media-complete event type.
Implementations§
Source§impl MediaConfig
impl MediaConfig
pub fn new() -> Self
Sourcepub fn set_demotion_event_type<T: Into<String>>(self, v: T) -> Self
pub fn set_demotion_event_type<T: Into<String>>(self, v: T) -> Self
Sets the value of demotion_event_type.
§Example
let x = MediaConfig::new().set_demotion_event_type("example");Sourcepub fn set_demote_content_watched_past_days<T: Into<i32>>(self, v: T) -> Self
pub fn set_demote_content_watched_past_days<T: Into<i32>>(self, v: T) -> Self
Sets the value of demote_content_watched_past_days.
§Example
let x = MediaConfig::new().set_demote_content_watched_past_days(42);Sourcepub fn set_content_freshness_cutoff_days<T: Into<i32>>(self, v: T) -> Self
pub fn set_content_freshness_cutoff_days<T: Into<i32>>(self, v: T) -> Self
Sets the value of content_freshness_cutoff_days.
§Example
let x = MediaConfig::new().set_content_freshness_cutoff_days(42);Sourcepub fn set_demote_content_watched<T: Into<Option<DemoteContentWatched>>>(
self,
v: T,
) -> Self
pub fn set_demote_content_watched<T: Into<Option<DemoteContentWatched>>>( self, v: T, ) -> Self
Sets the value of demote_content_watched.
Note that all the setters affecting demote_content_watched are mutually
exclusive.
§Example
use google_cloud_discoveryengine_v1::model::serving_config::media_config::DemoteContentWatched;
let x = MediaConfig::new().set_demote_content_watched(Some(DemoteContentWatched::ContentWatchedPercentageThreshold(42.0)));Sourcepub fn content_watched_percentage_threshold(&self) -> Option<&f32>
pub fn content_watched_percentage_threshold(&self) -> Option<&f32>
The value of demote_content_watched
if it holds a ContentWatchedPercentageThreshold, None if the field is not set or
holds a different branch.
Sourcepub fn set_content_watched_percentage_threshold<T: Into<f32>>(
self,
v: T,
) -> Self
pub fn set_content_watched_percentage_threshold<T: Into<f32>>( self, v: T, ) -> Self
Sets the value of demote_content_watched
to hold a ContentWatchedPercentageThreshold.
Note that all the setters affecting demote_content_watched are
mutually exclusive.
§Example
let x = MediaConfig::new().set_content_watched_percentage_threshold(42.0);
assert!(x.content_watched_percentage_threshold().is_some());
assert!(x.content_watched_seconds_threshold().is_none());Sourcepub fn content_watched_seconds_threshold(&self) -> Option<&f32>
pub fn content_watched_seconds_threshold(&self) -> Option<&f32>
The value of demote_content_watched
if it holds a ContentWatchedSecondsThreshold, None if the field is not set or
holds a different branch.
Sourcepub fn set_content_watched_seconds_threshold<T: Into<f32>>(self, v: T) -> Self
pub fn set_content_watched_seconds_threshold<T: Into<f32>>(self, v: T) -> Self
Sets the value of demote_content_watched
to hold a ContentWatchedSecondsThreshold.
Note that all the setters affecting demote_content_watched are
mutually exclusive.
§Example
let x = MediaConfig::new().set_content_watched_seconds_threshold(42.0);
assert!(x.content_watched_seconds_threshold().is_some());
assert!(x.content_watched_percentage_threshold().is_none());Trait Implementations§
Source§impl Clone for MediaConfig
impl Clone for MediaConfig
Source§fn clone(&self) -> MediaConfig
fn clone(&self) -> MediaConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more