Hi Ivan,

This is not supported but there is an open issue that aims at making this
kind of things possible
https://github.com/elasticsearch/elasticsearch/issues/6917


On Tue, Jul 29, 2014 at 8:50 PM, Ivan Brusic <[email protected]> wrote:

> Would it be possible to script the sort order of aggregations? Let me
> explain with a contrived example:
>
> {
>    "aggs": {
>       "agg1": {
>          "terms": {
>             "field": "somefield",
>             "order": {
>                "avg1": "desc"
>             },
>             "size" : 100
>          },
>          "aggs": {
>             "avg1": {
>                "avg": {
>                   "field": "someotherfield"
>                }
>             }
>          }
>       }
>    }
>
> The above example will return an aggregation where the buckets are sorted
> based on the average of some other field of the bucketized documents.
> Pretty easy. What I would actually want is to do some more complex math
> such as the average of the bucketized documents times the number of
> documents in the bucket.
>
> The metric aggregation script, as far as I can tell, does not have access
> to information of the bucket it is in.
>
> { "script" : "doc['someotherfield'].value * ?bucket.count?" }
>
> The aggregation order also does not offer script based sorting.
>
>         "order": {
>           "_script": {
>             "script": "bucket.avg * bucket.count",
>             "type": "number",
>             "order": "desc"
>           }
>         }
>
> Very pseudo code example above. My hope is that perhaps I missed the fact
> that Elasticsearch does support one of these two scenarios. If not, are
> there any workarounds to fine-tune sort order? Secondary sorting would also
> help.
>
> Cheers,
>
> Ivan
>
>
>  --
> 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/CALY%3DcQCLxU%3DFTddW%3DesWLWHz0G-SO_oN7Zb4OE4o%3DVdwyRw%2BkQ%40mail.gmail.com
> <https://groups.google.com/d/msgid/elasticsearch/CALY%3DcQCLxU%3DFTddW%3DesWLWHz0G-SO_oN7Zb4OE4o%3DVdwyRw%2BkQ%40mail.gmail.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/CAL6Z4j6tMy7AYLv4XBRW_kDii1N2kvPibtawUMWQVbZ5s7bkBg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to