pub struct BoolQuery { /* private fields */ }
Expand description
A query that matches documents matching boolean combinations of other queries. The bool query maps to Lucene BooleanQuery. It is built using one or more boolean clauses, each clause with a typed occurrence.
The bool query takes a more-matches-is-better approach, so the score from each matching must or should clause will be added together to provide the final _score for each document.
To create bool query:
Query::bool()
.must(Query::term("test1", 1))
.must(Query::term("test2", 2))
.should(Query::term("test1", 3))
.should(Query::term("test2", 4))
.filter(Query::term("test1", 5))
.filter(Query::term("test2", 6))
.must_not(Query::term("test1", 7))
.must_not(Query::term("test2", 8))
.minimum_should_match("2")
.boost(1.3)
.name("test");
https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-bool-query.html
Implementations§
Source§impl BoolQuery
impl BoolQuery
Sourcepub fn must<T>(self, query: T) -> Self
pub fn must<T>(self, query: T) -> Self
The clause (query) must appear in matching documents and will contribute to the score.
Sourcepub fn should<T>(self, query: T) -> Self
pub fn should<T>(self, query: T) -> Self
The clause (query) should appear in the matching document.
Sourcepub fn filter<T>(self, query: T) -> Self
pub fn filter<T>(self, query: T) -> Self
The clause (query) must appear in matching documents. However unlike must the score of the query will be ignored. Filter clauses are executed in filter context, meaning that scoring is ignored and clauses are considered for caching.
Sourcepub fn must_not<T>(self, query: T) -> Self
pub fn must_not<T>(self, query: T) -> Self
The clause (query) must not appear in the matching documents.
Clauses are executed in filter context
meaning that scoring is ignored and clauses are considered for caching.
Because scoring is ignored, a score of 0
for all documents is returned.
Sourcepub fn minimum_should_match<T>(self, minimum_should_match: T) -> Selfwhere
T: ToString,
pub fn minimum_should_match<T>(self, minimum_should_match: T) -> Selfwhere
T: ToString,
You can use the minimum_should_match
parameter to specify the number
or percentage of should clauses returned documents must match.
If the bool
query includes at least one should
clause and no
must
or filter
clauses, the default value is 1
.
Otherwise, the default value is 0
.
For other valid values, see the minimum_should_match parameter.
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.