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§
Source§impl DisMaxQuery
impl DisMaxQuery
pub fn serialize<__S>(
__self: &DisMaxQuery,
__serializer: __S,
) -> Result<__S::Ok, __S::Error>where
__S: Serializer,
Source§impl DisMaxQuery
impl DisMaxQuery
Sourcepub fn query<T>(self, query: T) -> Self
pub fn query<T>(self, query: T) -> Self
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(self, tie_breaker: f32) -> Self
pub fn tie_breaker(self, tie_breaker: f32) -> Self
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<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 DisMaxQuery
impl Clone for DisMaxQuery
Source§fn clone(&self) -> DisMaxQuery
fn clone(&self) -> DisMaxQuery
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more