Struct elasticsearch_dsl::search::queries::compound::DisMaxQuery
source · [−]pub struct DisMaxQuery { /* private fields */ }
Expand description
Returns documents matching one or more wrapped queries, called query clauses or clauses.
If a returned document matches multiple query clauses, the dis_max
query assigns the document
the highest relevance score from any matching clause, plus a tie breaking increment for any
additional matching subqueries.
You can use the dis_max
to search for a term in fields mapped with different
boost
factors.
To create disjunction max query:
Query::dis_max()
.query(Query::r#match("t1", "text"))
.query(Query::r#match("t2", "text"))
.tie_breaker(0.5)
.boost(3)
.name("test");
https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-dis-max-query.html
Implementations
sourceimpl DisMaxQuery
impl DisMaxQuery
sourcepub fn query<Q>(self, queries: Q) -> Self where
Q: Into<Queries>,
pub fn query<Q>(self, queries: Q) -> Self where
Q: Into<Queries>,
Contains one or more query clauses. Returned documents must match one or more of these queries. If a document matches multiple queries, Elasticsearch uses the highest relevance score
sourcepub fn tie_breaker<T>(self, tie_breaker: T) -> Self where
T: TryInto<TieBreaker>,
pub fn tie_breaker<T>(self, tie_breaker: T) -> Self where
T: TryInto<TieBreaker>,
Floating point number between 0
and 1.0
used to increase the
relevance scores
of documents matching multiple query clauses. Defaults to 0.0
.
You can use the tie_breaker
value to assign higher relevance scores to
documents that contain the same term in multiple fields than documents that
contain this term in only the best of those multiple fields, without
confusing this with the better case of two different terms in the multiple
fields.
If a document matches multiple clauses, the dis_max
query calculates
the relevance score for the document as follows:
- Take the relevance score from a matching clause with the highest score.
- Multiply the score from any other matching clauses by the tie_breaker value.
- Add the highest score to the multiplied scores.
If the tie_breaker
value is greater than 0.0
, all matching clauses
count, but the clause with the highest score counts most.
sourcepub fn boost<B>(self, boost: B) -> Self where
B: TryInto<Boost>,
pub fn boost<B>(self, boost: B) -> Self where
B: TryInto<Boost>,
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
sourceimpl Clone for DisMaxQuery
impl Clone for DisMaxQuery
sourcefn clone(&self) -> DisMaxQuery
fn clone(&self) -> DisMaxQuery
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for DisMaxQuery
impl Debug for DisMaxQuery
sourceimpl Default for DisMaxQuery
impl Default for DisMaxQuery
sourcefn default() -> DisMaxQuery
fn default() -> DisMaxQuery
Returns the “default value” for a type. Read more
sourceimpl From<DisMaxQuery> for Query
impl From<DisMaxQuery> for Query
sourcefn from(q: DisMaxQuery) -> Self
fn from(q: DisMaxQuery) -> Self
Converts to this type from the input type.
sourceimpl From<DisMaxQuery> for Option<Query>
impl From<DisMaxQuery> for Option<Query>
sourcefn from(q: DisMaxQuery) -> Self
fn from(q: DisMaxQuery) -> Self
Converts to this type from the input type.
sourceimpl From<DisMaxQuery> for Queries
impl From<DisMaxQuery> for Queries
sourcefn from(q: DisMaxQuery) -> Self
fn from(q: DisMaxQuery) -> Self
Converts to this type from the input type.
sourceimpl PartialEq<DisMaxQuery> for DisMaxQuery
impl PartialEq<DisMaxQuery> for DisMaxQuery
sourcefn eq(&self, other: &DisMaxQuery) -> bool
fn eq(&self, other: &DisMaxQuery) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &DisMaxQuery) -> bool
fn ne(&self, other: &DisMaxQuery) -> bool
This method tests for !=
.
sourceimpl PartialEq<DisMaxQuery> for Query
impl PartialEq<DisMaxQuery> for Query
sourceimpl PartialEq<Query> for DisMaxQuery
impl PartialEq<Query> for DisMaxQuery
sourceimpl Serialize for DisMaxQuery
impl Serialize for DisMaxQuery
impl StructuralPartialEq for DisMaxQuery
Auto Trait Implementations
impl RefUnwindSafe for DisMaxQuery
impl Send for DisMaxQuery
impl Sync for DisMaxQuery
impl Unpin for DisMaxQuery
impl UnwindSafe for DisMaxQuery
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more