Struct 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

Source

pub fn serialize<__S>( __self: &FunctionScoreQuery, __serializer: __S, ) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Source§

impl FunctionScoreQuery

Source

pub fn query<T>(self, query: T) -> Self
where T: Into<Option<Query>>,

Base function score query

Source

pub fn function<T>(self, function: T) -> Self
where T: Into<Option<Function>>,

Push function to the list

Source

pub fn max_boost<T>(self, max_boost: T) -> Self
where T: AsPrimitive<f32>,

Maximum score value after applying all the functions

Source

pub fn min_score<T>(self, min_score: T) -> Self
where 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.

Source

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

Source

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.

Source

pub fn boost<T>(self, boost: T) -> Self
where 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.

Source

pub fn name<S>(self, name: S) -> Self
where S: ToString,

You can use named queries to track which queries matched returned documents. If named queries are used, the response includes a matched_queries property for each hit.

https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-bool-query.html#named-queries

Trait Implementations§

Source§

impl Clone for FunctionScoreQuery

Source§

fn clone(&self) -> FunctionScoreQuery

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 FunctionScoreQuery

Source§

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

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

impl From<FunctionScoreQuery> for Option<Query>

Source§

fn from(q: FunctionScoreQuery) -> Self

Converts to this type from the input type.
Source§

impl From<FunctionScoreQuery> for Query

Source§

fn from(q: FunctionScoreQuery) -> Self

Converts to this type from the input type.
Source§

impl IntoIterator for FunctionScoreQuery

Source§

type Item = FunctionScoreQuery

The type of the elements being iterated over.
Source§

type IntoIter = IntoIter<<FunctionScoreQuery as IntoIterator>::Item>

Which kind of iterator are we turning this into?
Source§

fn into_iter(self) -> Self::IntoIter

Creates an iterator from a value. Read more
Source§

impl PartialEq<FunctionScoreQuery> for Query

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl PartialEq<Query> for FunctionScoreQuery

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl PartialEq for FunctionScoreQuery

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for FunctionScoreQuery

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for FunctionScoreQuery

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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> ToOwned for T
where T: Clone,

Source§

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>,

Source§

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>,

Source§

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.