Struct elasticsearch_dsl::search::queries::compound::FunctionScoreQuery
source · pub struct FunctionScoreQuery { /* private fields */ }
Expand description
The function_score
allows you to modify the score of documents that are retrieved by a query.
This can be useful if, for example, a score function is computationally expensive and it is sufficient to compute the score on a filtered set of documents.
To use function_score
, the user has to define a query and one or more functions, that compute
a new score for each document returned by the query.
To create function_score query:
Query::function_score()
.query(Query::term("test", 1))
.function(RandomScore::new().filter(Query::term("test", 1)).weight(2.0))
.function(Weight::new(2.0))
.max_boost(2.2)
.min_score(2.3)
.score_mode(FunctionScoreMode::Avg)
.boost_mode(FunctionBoostMode::Max)
.boost(1.1)
.name("test");
https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-function-score-query.html
Implementations§
source§impl FunctionScoreQuery
impl FunctionScoreQuery
pub fn serialize<__S>( __self: &FunctionScoreQuery, __serializer: __S ) -> Result<__S::Ok, __S::Error>where __S: Serializer,
source§impl FunctionScoreQuery
impl FunctionScoreQuery
sourcepub fn function<T>(self, function: T) -> Selfwhere
T: Into<Option<Function>>,
pub fn function<T>(self, function: T) -> Selfwhere T: Into<Option<Function>>,
Push function to the list
sourcepub fn max_boost<T>(self, max_boost: T) -> Selfwhere
T: AsPrimitive<f32>,
pub fn max_boost<T>(self, max_boost: T) -> Selfwhere T: AsPrimitive<f32>,
Maximum score value after applying all the functions
sourcepub fn min_score<T>(self, min_score: T) -> Selfwhere
T: Into<f32>,
pub fn min_score<T>(self, min_score: T) -> Selfwhere T: Into<f32>,
By default, modifying the score does not change which documents match. To exclude documents
that do not meet a certain score threshold the min_score
parameter can be set to the
desired score threshold.
sourcepub fn score_mode(self, score_mode: FunctionScoreMode) -> Self
pub fn score_mode(self, score_mode: FunctionScoreMode) -> Self
Each document is scored by the defined functions. The parameter score_mode
specifies how
the computed scores are combined
sourcepub fn boost_mode(self, boost_mode: FunctionBoostMode) -> Self
pub fn boost_mode(self, boost_mode: FunctionBoostMode) -> Self
The newly computed score is combined with the score of the query. The parameter
boost_mode
defines how.
sourcepub fn boost<T>(self, boost: T) -> Selfwhere
T: AsPrimitive<f32>,
pub fn boost<T>(self, boost: T) -> Selfwhere T: AsPrimitive<f32>,
Floating point number used to decrease or increase the
relevance scores
of a query. Defaults to 1.0
.
You can use the boost parameter to adjust relevance scores for searches containing two or more queries.
Boost values are relative to the default value of 1.0
.
A boost value between 0 and 1.0
decreases the relevance score.
A value greater than 1.0
increases the relevance score.
Trait Implementations§
source§impl Clone for FunctionScoreQuery
impl Clone for FunctionScoreQuery
source§fn clone(&self) -> FunctionScoreQuery
fn clone(&self) -> FunctionScoreQuery
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for FunctionScoreQuery
impl Debug for FunctionScoreQuery
source§impl From<FunctionScoreQuery> for Option<Query>
impl From<FunctionScoreQuery> for Option<Query>
source§fn from(q: FunctionScoreQuery) -> Self
fn from(q: FunctionScoreQuery) -> Self
source§impl From<FunctionScoreQuery> for Query
impl From<FunctionScoreQuery> for Query
source§fn from(q: FunctionScoreQuery) -> Self
fn from(q: FunctionScoreQuery) -> Self
source§impl IntoIterator for FunctionScoreQuery
impl IntoIterator for FunctionScoreQuery
§type Item = FunctionScoreQuery
type Item = FunctionScoreQuery
§type IntoIter = IntoIter<<FunctionScoreQuery as IntoIterator>::Item>
type IntoIter = IntoIter<<FunctionScoreQuery as IntoIterator>::Item>
source§impl PartialEq<FunctionScoreQuery> for FunctionScoreQuery
impl PartialEq<FunctionScoreQuery> for FunctionScoreQuery
source§fn eq(&self, other: &FunctionScoreQuery) -> bool
fn eq(&self, other: &FunctionScoreQuery) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl PartialEq<FunctionScoreQuery> for Query
impl PartialEq<FunctionScoreQuery> for Query
source§fn eq(&self, other: &FunctionScoreQuery) -> bool
fn eq(&self, other: &FunctionScoreQuery) -> bool
self
and other
values to be equal, and is used
by ==
.