Hi Adrien,

Thanks a lot, it works!

Regards,
Loïc

Le mercredi 14 janvier 2015 12:06:54 UTC+1, Adrien Grand a écrit :
>
> Provided that `d` is mapped as a `nested` object, you can do it by using 
> the nested aggregation. Here are the aggregations that you would need on 
> each level
>  1. nested aggregation to be in the context of path='d'
>  2. filter aggregation on d.toto == 1
>  3. max aggregation on d.tutu
>
> On Wed, Jan 14, 2015 at 11:08 AM, Loïc Wenkin <[email protected] 
> <javascript:>> wrote:
>
>> Hi all,
>>
>> I was wondering if it is possible to apply aggregations only on a set of 
>> nested objects (not all nested objects presents inside a document), 
>> according to a property of this object? I think an example will help to 
>> understand.
>>
>> Let's say that you have the following documents inthe index:
>>
>> {
>>        "a": 2,
>>        "b": 3,
>>        "c": 4,
>>        "d": [
>>               {
>>                      "toto": 1,
>>                      "tutu": 2,
>>                      "titi": 3
>>               },
>>               {
>>                      "toto": 2,
>>                      "tutu": 5,
>>                      "titi": 6
>>               },
>>               {
>>                      "toto": 3,
>>                      "tutu": 11,
>>                      "titi": 8
>>               },
>>               {
>>                      "toto": 4,
>>                      "tutu": 7,
>>                      "titi": 4
>>               }
>>        ]
>> }
>>
>>
>>
>>
>> {
>>        "a": 3,
>>        "b": 4,
>>        "c": 5,
>>        "d": [
>>               {
>>                      "toto": 1,
>>                      "tutu": 10,
>>                      "titi": 6
>>               },
>>               {
>>                      "toto": 2,
>>                      "tutu": 65,
>>                      "titi": 8
>>               },
>>               {
>>                      "toto": 3,
>>                      "tutu": 25,
>>                      "titi": 15
>>               },
>>               {
>>                      "toto": 4,
>>                      "tutu": 30,
>>                      "titi": 45
>>               }
>>        ]
>> }
>>
>>
>>
>> Where "d" is indexed as nested. I would like to get the maximum value for 
>> the "tutu" property from this kind of documents, but I would like to work 
>> only on nested objects where "toto" = 1. Here, I would like to get 10 
>> (the red one in the samples), and not 65.
>>
>> Is it possible to do this kind of aggregation? Or have I to change my 
>> document structure (or index mapping or ...)? If it is possible, could you 
>> point me how to do it? I had a look at nested aggregations and filter ones, 
>> but I am not sure that it could help.
>>
>> Thank you for your replies.
>>
>> Regards,
>> Loïc
>>
>> -- 
>> 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] <javascript:>.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/elasticsearch/681f7e7f-6340-4699-88f4-bb99032e47b5%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/elasticsearch/681f7e7f-6340-4699-88f4-bb99032e47b5%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
>
> -- 
> 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/9fecd1ff-4d6b-4d24-acd0-c7e6e457abc0%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to