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
sourceimpl BoolQuery
impl BoolQuery
sourcepub fn must<Q>(self, queries: Q) -> Self where
Q: Into<Queries>,
pub fn must<Q>(self, queries: Q) -> Self where
Q: Into<Queries>,
The clause (query) must appear in matching documents and will contribute to the score.
sourcepub fn should<Q>(self, queries: Q) -> Self where
Q: Into<Queries>,
pub fn should<Q>(self, queries: Q) -> Self where
Q: Into<Queries>,
The clause (query) should appear in the matching document.
sourcepub fn filter<Q>(self, queries: Q) -> Self where
Q: Into<Queries>,
pub fn filter<Q>(self, queries: Q) -> Self where
Q: Into<Queries>,
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<Q>(self, queries: Q) -> Self where
Q: Into<Queries>,
pub fn must_not<Q>(self, queries: Q) -> Self where
Q: Into<Queries>,
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<S>(self, minimum_should_match: S) -> Self where
S: Into<MinimumShouldMatch>,
pub fn minimum_should_match<S>(self, minimum_should_match: S) -> Self where
S: Into<MinimumShouldMatch>,
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<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
impl StructuralPartialEq for BoolQuery
Auto Trait Implementations
impl RefUnwindSafe for BoolQuery
impl Send for BoolQuery
impl Sync for BoolQuery
impl Unpin for BoolQuery
impl UnwindSafe for BoolQuery
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