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]> 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]. > 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/CAL6Z4j6mCs-gBR8fOygLEcX98JUVxgqg2d%2B-3_V_6SBOuq3iRA%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
