# Filtering on multiple fields from deep nested object

**URL:** <https://discuss.elastic.co/t/filtering-on-multiple-fields-from-deep-nested-object/313698>\
**Category:** Elasticsearch\
**Created:** [September 5, 2022, 3:41pm UTC](https://discuss.elastic.co/t/filtering-on-multiple-fields-from-deep-nested-object/313698 "2022-09-05T15:41:25Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Ahmed\_EBEN\_HASSINE](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/ahmed_eben_hassine/32/110483_2.png) [@Ahmed\_EBEN\_HASSINE](https://discuss.elastic.co/u/Ahmed_EBEN_HASSINE)\
**Post date:** [September 5, 2022, 3:41pm UTC](https://discuss.elastic.co/t/filtering-on-multiple-fields-from-deep-nested-object/313698/1 "2022-09-05T15:41:25Z")

</div>

I have a complicated object that looks something like this:

```auto
   {
      "_type":	"_doc",
      "_id":	"13",
      "name": "X",
      "unitWorkJobRiskWorkingSituations": [
        {
          unitWork: {
            "id": 1,
            "name": "home",
            "priority": 1
          },
          job: {
            "id": 1,
            "name": "developper",
            "priority": 2
          }
        },
        {
          unitWork: {
            "id": 2,
            "name": "home2",
            "priority": 1
          },
          job: {
            "id": 2,
            "name": "developer2",
            "priority": 2
          }
        },
        ...
      ]
    }

```

I want to filter my documents, and return only those how have at least one "unitWorkJobRiskWorkingSituation" object that contain both unitWork with "home" name and a job name "developer"

This is my current query, that does not unfortunately work :

```auto
  {
      "query":{
        "bool":{
          "must":[
            {
              "nested":{
                "path":"unitWorkJobRiskWorkingSituations",
                "query":{
                  "bool":{
                    "must":[
                      {
                        "terms":{
                          "unitWorkJobRiskWorkingSituations.job.name":["developper"]
                        }
                      },
                      {
                        "terms":{
                          "unitWorkJobRiskWorkingSituations.unitWork.name":["home"]
                        }
                      }]
                  }
                }
              }
            }]
        }
      }
    }

```

Any help would be appreciated!

---

<div class="post-metadata">

**Author:** ![Christian\_Dahlqvist](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/christian_dahlqvist/32/4617_2.png) [@Christian\_Dahlqvist](https://discuss.elastic.co/u/Christian_Dahlqvist)\
**Post date:** [September 5, 2022, 3:49pm UTC](https://discuss.elastic.co/t/filtering-on-multiple-fields-from-deep-nested-object/313698/2 "2022-09-05T15:49:39Z")

</div>

What does your index mapping look like?

---

<div class="post-metadata">

**Author:** ![haunv1503](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/haunv1503/32/107850_2.png) [@haunv1503](https://discuss.elastic.co/u/haunv1503)\
**Post date:** [September 5, 2022, 5:25pm UTC](https://discuss.elastic.co/t/filtering-on-multiple-fields-from-deep-nested-object/313698/3 "2022-09-05T17:25:34Z")

</div>

haven't you try this yet?  
i see your query that work perfectly.  
[  
{  
"terms":{  
"unitWorkJobRiskWorkingSituations.job.name":["developper", "home"]  
}  
}  
]

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [October 3, 2022, 5:26pm UTC](https://discuss.elastic.co/t/filtering-on-multiple-fields-from-deep-nested-object/313698/4 "2022-10-03T17:26:18Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
