We are working on updating this book for the latest version. Some content might be out of date.
Because nested objects
are indexed as separate hidden documents, we can’t
query them directly.
Instead, we have to use the
nested query to access them:
nested field can contain other
nested fields. Similarly, a
query can contain other
nested queries. The nesting hierarchy is applied
as you would expect.
Of course, a
nested query could match several nested documents.
Each matching nested document would have its own relevance score, but these
multiple scores need to be reduced to a single score that can be applied to
the root document.
By default, it averages the scores of the matching nested documents. This can
be controlled by setting the
score_mode parameter to
none (in which case the root document gets a constant score of
If placed inside the
filter clause of a Boolean query, a
nested query behaves
much like a
nested query, except that it doesn’t accept the
parameter. Because it is being used as a non-scoring query — it includes or excludes,
but doesn’t score — a
score_mode doesn’t make sense since there is nothing to score.