Oops, I missed to include the link:

[1]
http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-aggregations-bucket-nested-aggregation.html


On Sun, May 4, 2014 at 7:20 PM, Adrien Grand <[email protected]
> wrote:

> Hi Niv,
>
> MSV is a nested field. Nested fields are effectively stored in separate
> documents, you need to use the nested[1] aggregation in order to make this
> aggregation work. It would look something like (not tested):
>
> "aggregations":{
>   "MSV": {
>     "nested": {
>       "path": "MSV"
>     },
>     "aggregations": {
>       "country":{
>         "terms":{
>           "field": "MSV.country"
>         }
>       }
>     }
>   }
> }
>
>
>
> On Sun, May 4, 2014 at 6:54 PM, Niv Penso <[email protected]> wrote:
>
>> Hey guys,
>>
>> I have this mappings:
>>
>> {
>>    "ckdocuments": {
>>       "mappings": {
>>          "msv": {
>>             "properties": {
>>                "MSV": {
>>                   "type": "nested",
>>                   "properties": {
>>                      "country": {
>>                         "type": "string",
>>                         "index": "not_analyzed"
>>                      },
>>                      "date": {
>>                         "type": "date",
>>                         "format": "YYYY-MM-dd HH:mm:ss"
>>                      },
>>                      "hits": {
>>                         "type": "nested",
>>                         "properties": {
>>                            "click_type": {
>>                               "type": "string",
>>                               "index": "not_analyzed"
>>                            }
>>                         }
>>                      }
>>                   }
>>                },
>>                "c": {
>>                   "type": "string"
>>                },
>>                "doc_creation_time": {
>>                   "type": "date",
>>                   "format": "YYYY-MM-dd HH:mm:ss"
>>                },
>>                "views": {
>>                   "properties": {
>>                      "country": {
>>                         "type": "string"
>>                      },
>>                      "date": {
>>                         "type": "date",
>>                         "format": "YYYY-MM-dd HH:mm:ss"
>>                      },
>>                      "hits": {
>>                         "properties": {
>>                            "click_type": {
>>                               "type": "string"
>>                            }
>>                         }
>>                      }
>>                   }
>>                }
>>             }
>>          }
>>       }
>>    }
>> }
>>
>> with this documents:
>>
>> GET ckdocuments/msv/1
>>
>> "_source": {
>>       "MSV": [
>>          {
>>             "country": "US",
>>             "date": "2013-01-01 00:00:00",
>>             "hits": [
>>                {
>>                   "click_type": "click"
>>                }
>>             ]
>>          }
>>       ],
>>       "views": [
>>          {
>>             "country": "US",
>>             "date": "2013-01-01 00:00:00",
>>             "hits": [
>>                {
>>                   "click_type": "click"
>>                }
>>             ]
>>          },
>>          {
>>             "country": "IL",
>>             "date": "2013-01-01 00:00:00",
>>             "hits": [
>>                {
>>                   "click_type": "click"
>>                }
>>             ]
>>          }
>>       ]
>>    }
>>
>> GET ckdocuments/msv/2
>>
>> "_source": {
>>       "doc_creation_time": "2013-01-01 00:00:00",
>>       "MSV": [
>>          {
>>             "country": "IL",
>>             "date": "2013-01-01 00:00:00",
>>             "hits": [
>>                {
>>                   "click_type": "pixel"
>>                }
>>             ]
>>          },
>>          {
>>             "country": "US",
>>             "date": "2013-01-02 00:00:00",
>>             "hits": [
>>                {
>>                   "click_type": "click"
>>                }
>>             ]
>>          }
>>       ],
>>       "views": [
>>          {
>>             "country": "US",
>>             "date": "2013-01-01 00:00:00",
>>             "hits": []
>>          },
>>          {
>>             "country": "US",
>>             "date": "2013-01-01 00:00:00",
>>             "hits": [
>>                {
>>                   "click_type": "pixel"
>>                },
>>                {
>>                   "click_type": "pixel"
>>                }
>>             ]
>>          },
>>          {
>>             "country": "US",
>>             "date": "2013-01-02 00:00:00",
>>             "hits": [
>>                {
>>                   "click_type": "click"
>>                }
>>             ]
>>          }
>>       ]
>>    }
>>
>> GET ckdocuments/msv/3
>>
>> "_source": {
>>       "MSV": [
>>          {
>>             "country": "IL",
>>             "date": "2013-01-01 00:00:00",
>>             "hits": [
>>                {
>>                   "click_type": "click"
>>                }
>>             ]
>>          }
>>       ],
>>       "views": [
>>          {
>>             "country": "US",
>>             "date": "2013-01-01 00:00:00",
>>             "hits": [
>>                {
>>                   "click_type": "click"
>>                }
>>             ]
>>          },
>>          {
>>             "country": "IL",
>>             "date": "2013-01-01 00:00:00",
>>             "hits": [
>>                {
>>                   "click_type": "click"
>>                }
>>             ]
>>          }
>>       ]
>>    }
>>
>>
>> I am trying to make an aggregation query by "MSV.country" with filtering
>> that the results will be only the MSVs that have "MSV.hits.click_type =
>> click" AND "MSV.date" is in the range 2013-01-01 2013-01-02 // format
>> yyyy-mm-dd
>>
>> this is the query i am trying to run:
>>
>> GET ckdocuments/msv/_search
>> {
>>     "aggregations": {
>>         "MSV1":{
>>             "filter":{
>>                 "nested": {
>>                    "path": "MSV",
>>                    "query": {
>>                        "bool": {
>>                             "must": [
>>                             {
>>                                 "nested": {
>>                                    "path": "MSV.hits",
>>                                    "query": {
>>                                        "term": {
>>                                             "MSV.hits.click_type": "click"
>>                                         }
>>                                    }
>>                                 }
>>                             },
>>                             {
>>                                 "range": {
>>                                     "MSV.date": {
>>                                         "from":"2013-01-01 00:00:00",
>>                                         "to": "2013-01-01 00:00:00"
>>                                     }
>>                                 }
>>                             }]
>>                         }
>>                    }
>>                 }
>>             },
>>             "aggregations":{
>>                 "country":{
>>                     "terms":{
>>                         "field": "MSV.country"
>>                     }
>>                 }
>>             }
>>         }
>>     },
>>     "size":0
>> }
>>
>> and this is the results:
>>
>> {
>>    "took": 2,
>>    "timed_out": false,
>>    "_shards": {
>>       "total": 5,
>>       "successful": 5,
>>       "failed": 0
>>    },
>>    "hits": {
>>       "total": 3,
>>       "max_score": 0,
>>       "hits": []
>>    },
>>    "aggregations": {
>>       "MSV1": {
>>          "doc_count": 2,
>>          "country": {
>>             "buckets": []
>>          }
>>       }
>>    }
>> }
>>
>> I dont understand why i don't see 1 IL results and 1 US results (as
>> marked in green).
>>
>> Thnx for you attention :D
>>
>> Niv
>>
>>
>>
>>  --
>> You received this message because you are subscribed to the Google Groups
>> "elasticsearch" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/elasticsearch/41795a50-5239-4aa8-8a85-9928561ca7fd%40googlegroups.com<https://groups.google.com/d/msgid/elasticsearch/41795a50-5239-4aa8-8a85-9928561ca7fd%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
>
> --
> Adrien Grand
>



-- 
Adrien Grand

-- 
You received this message because you are subscribed to the Google Groups 
"elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elasticsearch/CAL6Z4j4RHtYvQ005JbLbXZLRT4sUjFyGhKyXnrd7%2BLZPc150%2Bw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to