# Query inner object without knowing parent key path

**URL:** <https://discuss.elastic.co/t/query-inner-object-without-knowing-parent-key-path/165030>\
**Category:** Elasticsearch\
**Created:** [January 21, 2019, 10:28am UTC](https://discuss.elastic.co/t/query-inner-object-without-knowing-parent-key-path/165030 "2019-01-21T10:28:23Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Ijas\_ahamed](https://avatars.discourse-cdn.com/v4/letter/i/c89c15/32.png) [@Ijas\_ahamed](https://discuss.elastic.co/u/Ijas_ahamed)\
**Post date:** [January 21, 2019, 10:28am UTC](https://discuss.elastic.co/t/query-inner-object-without-knowing-parent-key-path/165030/1 "2019-01-21T10:28:23Z")

</div>

I have a items with below structure

```
{
    "user_id" : "unique id for the user",
    "minutes": {
        "2019-1-11T14:41:00.000Z": {
            "interest_1" : {
                    "count" : 2,
                    "obs" : [
                            "req_id_1","req_id_2"
                    ]
            },
            "date" : "2019-1-11T14:41:00.000Z"
        },
        "2019-1-15T12:18:00.000Z": {
            "interest_1" : {
                    "count" : 1,
                    "obs" : [
                            "req_id_3"
                    ]
            },
            "interest_2" : {
                    "count" : 1,
                    "obs" : [
                            "req_id_4"
                    ]
            },
            "date" : "2019-1-15T12:18:00.000Z"
        },
        "2019-1-15T13:27:00.000Z": {
            "interest_1" : {
                    "count" : 3,
                    "obs" : [
                            "req_id_5","req_id_6","req_id_7"
                    ]
            },
            "date" : "2019-1-15T13:27:00.000Z"
        },
        "2019-1-15T20:30:00.000Z": {
            "interest_2" : {
                    "count" : 1,
                    "obs" : [
                            "req_id_8"
                    ]
            },
            "date" : "2019-1-15T20:30:00.000Z"
        }
    }
}

```

**I want to get all users with interest count and observations from a list of interests between a time interval.**

For example, i want all users with interest interest\_1 between time 2019-1-15T12:00:00.000Z and 2019-1-15T14:00:00.000Z

I am using this structure to track time series event of the user. I know elasticsearch allow inner objects query but we have to know the whole path to inner object from root object. But in my case, i cannot say the parent object key.

What will be the query to get my result or is there any other good method to track time series?

---

<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:** [January 21, 2019, 10:41am UTC](https://discuss.elastic.co/t/query-inner-object-without-knowing-parent-key-path/165030/2 "2019-01-21T10:41:22Z")

</div>

That [is a very bad document structure](https://www.elastic.co/blog/found-crash-elasticsearch) to use as the number of fields in your mappings will just grow and grow over time as you get a new one every minute. I would recommend changing how you structure your data, which will also change how you query it.

---

<div class="post-metadata">

**Author:** ![Ijas\_ahamed](https://avatars.discourse-cdn.com/v4/letter/i/c89c15/32.png) [@Ijas\_ahamed](https://discuss.elastic.co/u/Ijas_ahamed)\
**Post date:** [January 21, 2019, 1:54pm UTC](https://discuss.elastic.co/t/query-inner-object-without-knowing-parent-key-path/165030/3 "2019-01-21T13:54:54Z")

</div>

Ok. I will figure out the structure.  
I need to know how to query on nested key without knowing the parent key path. Is it possible in ElasticSearch?

---

<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:** [January 21, 2019, 2:06pm UTC](https://discuss.elastic.co/t/query-inner-object-without-knowing-parent-key-path/165030/4 "2019-01-21T14:06:18Z")

</div>

I have just recommended that you do not use dynamically generated field names like in your example, which means that you would know the key paths.

---

<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 18, 2019, 2:06pm UTC](https://discuss.elastic.co/t/query-inner-object-without-knowing-parent-key-path/165030/5 "2019-02-18T14:06:25Z")

</div>

Closed on February 18, 2019, 2:06pm UTC

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