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.