# Filter children in elasticsearch Nest

**URL:** https://discuss.elastic.co/t/filter-children-in-elasticsearch-nest/117361
**Category:** Elasticsearch
**Created:** [January 28, 2018, 12:43pm UTC](https://discuss.elastic.co/t/filter-children-in-elasticsearch-nest/117361 "2018-01-28T12:43:35Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![Qutaiba\_Mustafa](https://avatars.discourse-cdn.com/v4/letter/q/7993a0/32.png) [@Qutaiba\_Mustafa](https://discuss.elastic.co/u/Qutaiba_Mustafa)
#### Post date: [January 28, 2018, 12:43pm UTC](https://discuss.elastic.co/t/filter-children-in-elasticsearch-nest/117361/1 "2018-01-28T12:43:35Z")

</div>

I want to filter children in elastic search without changing the parent node, i have something like this data, and want to all games, but only "isVisible = true" members should appear with each game

```
{ 
"_index": "test", 
"_type": "Game", 
"_id": "1", 
"_source": { 
"gameName" : "test game",
"teamMembers" : {
    "id" : "2",
    "name":"John",
    "isVisible" : true
    },
{
    "id" : "3",
    "name":"emma",
    "isVisible": false
}
} }

```

So, i want to get the above game as is but with only 1 team member (John) i am using C#, and tried this:

```
var result = new List<Func<QueryContainerDescriptor<Review>, QueryContainer>>();
result.Add(a => a.Nested(n => n.Path("teamMembers").Query(q => q.Match(m => m.Field("teamMembers.isVisible").Query("true")))));

```

but it didn't work.

Note: i am using Elastic search 5.4

Thanks in advanced.

---

<div class="post-metadata">

### Author: ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)
#### Post date: [January 28, 2018, 1:31pm UTC](https://discuss.elastic.co/t/filter-children-in-elasticsearch-nest/117361/2 "2018-01-28T13:31:31Z")

</div>

I'd recommend using a top level visible property that you compute at index time. That will be the most efficient way to do that. Something like:

```auto
{ 
    "gameName" : "test game",
    "isVisible": false,
    "teamMembers" : [{
        "id" : "2",
        "name":"John",
        "isVisible" : true
    },
    {
        "id" : "3",
        "name":"emma",
        "isVisible": false
    }]
}

```

BTW your json looks incorrect to me.

---

<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: [February 25, 2018, 1:31pm UTC](https://discuss.elastic.co/t/filter-children-in-elasticsearch-nest/117361/3 "2018-02-25T13:31:40Z")

</div>

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