Struct elasticsearch_dsl::search::queries::joining::NestedQuery
source · [−]pub struct NestedQuery { /* private fields */ }Expand description
Wraps another query to search nested fields.
The nested query searches nested field objects as if they were indexed as
separate documents. If an object matches the search, the nested query
returns the root parent document.
To create nested query:
Query::nested("vehicles", Query::term("vehicles.license", "ABC123"))
.boost(3)
.name("test");To create multi-level nested query:
Query::nested("driver", Query::nested("driver.vehicle", Query::term("driver.vehicle.make", "toyota")))
.boost(3)
.name("test");https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-nested-query.html
Implementations
sourceimpl NestedQuery
impl NestedQuery
sourcepub fn score_mode(self, score_mode: NestedQueryScoreMode) -> Self
pub fn score_mode(self, score_mode: NestedQueryScoreMode) -> Self
Indicates how scores for matching child objects affect the root parent document’s relevance score.
sourcepub fn ignore_unmapped(self, ignore_unmapped: bool) -> Self
pub fn ignore_unmapped(self, ignore_unmapped: bool) -> Self
Indicates whether to ignore an unmapped path and not return any
documents instead of an error. Defaults to false.
If false, Elasticsearch returns an error if the path is an unmapped
field.
You can use this parameter to query multiple indices that may not
contain the field path.
sourcepub fn inner_hits(self, inner_hits: InnerHits) -> Self
pub fn inner_hits(self, inner_hits: InnerHits) -> Self
The parent-join and nested features allow the return of documents that have matches in a different scope. In the parent/child case, parent documents are returned based on matches in child documents or child documents are returned based on matches in parent documents. In the nested case, documents are returned based on matches in nested inner objects.
In both cases, the actual matches in the different scopes that caused a document to be returned are hidden. In many cases, it’s very useful to know which inner nested objects (in the case of nested) or children/parent documents (in the case of parent/child) caused certain information to be returned. The inner hits feature can be used for this. This feature returns per search hit in the search response additional nested hits that caused a search hit to match in a different scope.
Inner hits can be used by defining an inner_hits definition on a nested, has_child
or has_parent query and filter.
https://www.elastic.co/guide/en/elasticsearch/reference/current/inner-hits.html
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
sourceimpl Clone for NestedQuery
impl Clone for NestedQuery
sourcefn clone(&self) -> NestedQuery
fn clone(&self) -> NestedQuery
1.0.0 · sourceconst fn clone_from(&mut self, source: &Self)
const fn clone_from(&mut self, source: &Self)
source. Read more