I thought it may be useful to summarise what we're trying to do:

Let the document structure be:

contest:

contestant: // [array]

id: string

data: // [array]

run: integer // note that I've added this to highlight one of our

usecases

timing: integer

// ... other attributes

We don't have control of this structure. Clients of our service are free to

define it as they wish (hence, I guess we need to use dynamic templates to

define the mappings).

The structure may be *arbitrarily *deep, with nested array types.

Some example of the types of aggregations the client would like to make:

- find total of timing by contestant id (explained very nicely with your

answer)
- find average of timing across all contestants by run. In this case the

grouping is by "run"

I can see how to carry out each of the above, albeit with distinct

mappings. However, what's we need is one mapping that can do both queries

(ideally one that works with Kibana).

thanks

Fuzz.

On Thursday, 3 April 2014 16:53:02 UTC+1, dazraf wrote:

Hi Mark,

thanks again for helping with this.

I'm wondering why, in the solution, the mapping doesn't include the data

node in the tree.

In fact when I explicitly state the data node as a property of contestant,

the aggregations come back blank.Gist:

https://gist.github.com/dazraf/9957039

many thanks!

On Wednesday, 2 April 2014 18:31:29 UTC+1, Mark Harwood wrote:

A rough Gist here that sums OK with one level of nesting:

https://gist.github.com/markharwood/9938890

On Wednesday, April 2, 2014 5:13:22 PM UTC+1, dazraf wrote:

Hi,

I've also experimented with nested types using dynamic templates.

Interesting (empty!) aggregation results!

Gist: https://gist.github.com/dazraf/9937198

Would be grateful if anyone can shed some light on this please?

Thank you.

On Wednesday, 2 April 2014 16:05:00 UTC+1, dazraf wrote:

Hi,

Gist: https://gist.github.com/dazraf/9935814

Basically, I'd like to be able to aggregate a field of an array of

observations, grouped by an ancestor/parent id.

So for example (see gist): Aggregate the timings per contestant across

a set of contests.

I realise that the data can be structured differently - effectively

flattened to a document per contest-contestant-contest.

However, I don't have the luxury of doing this in the real-world case.

Any help much appreciated.

Thank you.

--

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 elasticsearch+unsubscribe@googlegroups.com.

To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/863c4f2d-7cb1-4453-9ba1-2ba37bca7a34%40googlegroups.com.

For more options, visit https://groups.google.com/d/optout.