123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- [[query-dsl-nested-query]]
- === Nested query
- ++++
- <titleabbrev>Nested</titleabbrev>
- ++++
- Wraps another query to search <<nested,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.
- [[nested-query-ex-request]]
- ==== Example request
- [[nested-query-index-setup]]
- ===== Index setup
- To use the `nested` query, your index must include a <<nested,nested>> field
- mapping. For example:
- [source,console]
- ----
- PUT /my_index
- {
- "mappings": {
- "properties" : {
- "obj1" : {
- "type" : "nested"
- }
- }
- }
- }
- ----
- // TESTSETUP
- [[nested-query-ex-query]]
- ===== Example query
- [source,console]
- ----
- GET /my_index/_search
- {
- "query": {
- "nested" : {
- "path" : "obj1",
- "query" : {
- "bool" : {
- "must" : [
- { "match" : {"obj1.name" : "blue"} },
- { "range" : {"obj1.count" : {"gt" : 5}} }
- ]
- }
- },
- "score_mode" : "avg"
- }
- }
- }
- ----
- [[nested-top-level-params]]
- ==== Top-level parameters for `nested`
- `path`::
- (Required, string) Path to the nested object you wish to search.
- `query`::
- +
- --
- (Required, query object) Query you wish to run on nested objects in the `path`.
- If an object matches the search, the `nested` query returns the root parent
- document.
- You can search nested fields using dot notation that includes the complete path,
- such as `obj1.name`.
- Multi-level nesting is automatically supported, and detected, resulting in an
- inner nested query to automatically match the relevant nesting level, rather
- than root, if it exists within another nested query.
- --
- `score_mode`::
- +
- --
- (Optional, string) Indicates how scores for matching child objects affect the
- root parent document's <<relevance-scores,relevance score>>. Valid values
- are:
- `avg` (Default)::
- Use the mean relevance score of all matching child objects.
- `max`::
- Uses the highest relevance score of all matching child objects.
- `min`::
- Uses the lowest relevance score of all matching child objects.
- `none`::
- Do not use the relevance scores of matching child objects. The query assigns
- parent documents a score of `0`.
- `sum`::
- Add together the relevance scores of all matching child objects.
- --
- `ignore_unmapped`::
- +
- --
- (Optional, boolean) Indicates whether to ignore an unmapped `path` and not
- return any documents instead of an error. Defaults to `false`.
- If `false`, {es} 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`.
- --
|