#[non_exhaustive]pub struct ConditionBoostSpec {
pub condition: String,
pub boost: f32,
pub boost_control_spec: Option<BoostControlSpec>,
/* private fields */
}assistant-service or conversational-search-service or search-service or serving-config-service only.Expand description
Boost applies to documents which match a condition.
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.condition: StringAn expression which specifies a boost condition. The syntax and supported fields are the same as a filter expression. See SearchRequest.filter for detail syntax and limitations.
Examples:
- To boost documents with document ID “doc_1” or “doc_2”, and
color “Red” or “Blue”:
(document_id: ANY("doc_1", "doc_2")) AND (color: ANY("Red", "Blue"))
boost: f32Strength of the condition boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0.
Setting to 1.0 gives the document a big promotion. However, it does not necessarily mean that the boosted document will be the top result at all times, nor that other documents will be excluded. Results could still be shown even when none of them matches the condition. And results that are significantly more relevant to the search query can still trump your heavily favored but irrelevant documents.
Setting to -1.0 gives the document a big demotion. However, results that are deeply relevant might still be shown. The document will have an upstream battle to get a fairly high ranking, but it is not blocked out completely.
Setting to 0.0 means no boost applied. The boosting condition is ignored. Only one of the (condition, boost) combination or the boost_control_spec below are set. If both are set then the global boost is ignored and the more fine-grained boost_control_spec is applied.
boost_control_spec: Option<BoostControlSpec>Complex specification for custom ranking based on customer defined attribute value.
Implementations§
Source§impl ConditionBoostSpec
impl ConditionBoostSpec
pub fn new() -> Self
Sourcepub fn set_condition<T: Into<String>>(self, v: T) -> Self
pub fn set_condition<T: Into<String>>(self, v: T) -> Self
Sourcepub fn set_boost_control_spec<T>(self, v: T) -> Selfwhere
T: Into<BoostControlSpec>,
pub fn set_boost_control_spec<T>(self, v: T) -> Selfwhere
T: Into<BoostControlSpec>,
Sets the value of boost_control_spec.
§Example
use google_cloud_discoveryengine_v1::model::search_request::boost_spec::condition_boost_spec::BoostControlSpec;
let x = ConditionBoostSpec::new().set_boost_control_spec(BoostControlSpec::default()/* use setters */);Sourcepub fn set_or_clear_boost_control_spec<T>(self, v: Option<T>) -> Selfwhere
T: Into<BoostControlSpec>,
pub fn set_or_clear_boost_control_spec<T>(self, v: Option<T>) -> Selfwhere
T: Into<BoostControlSpec>,
Sets or clears the value of boost_control_spec.
§Example
use google_cloud_discoveryengine_v1::model::search_request::boost_spec::condition_boost_spec::BoostControlSpec;
let x = ConditionBoostSpec::new().set_or_clear_boost_control_spec(Some(BoostControlSpec::default()/* use setters */));
let x = ConditionBoostSpec::new().set_or_clear_boost_control_spec(None::<BoostControlSpec>);Trait Implementations§
Source§impl Clone for ConditionBoostSpec
impl Clone for ConditionBoostSpec
Source§fn clone(&self) -> ConditionBoostSpec
fn clone(&self) -> ConditionBoostSpec
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more