首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Elasticsearch聚合排序不适用于术语子聚合

Elasticsearch聚合排序不适用于术语子聚合
EN

Stack Overflow用户
提问于 2018-06-04 06:08:56
回答 1查看 1K关注 0票数 1

I需要根据第二级聚合对第一级聚合进行排序。

当第二级聚合是基数/sum/max等时,上面的场景非常好,这与一个数字有关,但是当我在第二级聚合下添加项时,抛出了一个例外:

MY查询:

代码语言:javascript
复制
> {   
>     "size": 0,
>     "aggs": {
>     "id": {
>       "terms": {
>         "field": "column_id.keyword",
>         "size": 10,
>         "order": {
>           "sort": "asc"
>         }
>       },
>       "aggs": {
>         "sort": {
>           "terms": {
>             "field": "table_name.keyword",
>             "size": 10
>           }
>         }
>       }
>     } 
>   }
> }

ES:异常:

无效术语聚合顺序路径排序。术语桶只能在子聚合器路径上排序,该路径由路径中的零或多个单桶聚合和路径末端的最终单桶或度量聚合组成。

通过查看上面的消息,我理解排序不能在术语上工作,但是有什么方法可以根据文本或关键字类型的第二个字段对第一级聚合进行排序吗??

EN

回答 1

Stack Overflow用户

发布于 2022-11-10 10:15:07

将排序更改为_key

代码语言:javascript
复制
>     {   
    >     "size": 0,
    >     "aggs": {
    >     "id": {
    >       "terms": {
    >         "field": "column_id.keyword",
    >         "size": 10,
    >         "order": {
    >           "_key": "asc"
    >         }
    >       },
    >       "aggs": {
    >         "sort": {
    >           "terms": {
    >             "field": "table_name.keyword",
    >             "size": 10
    >           }
    >         }
    >       }
    >     } 
    >      }
    >      }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50674281

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档