elasticsearch按条件聚合查询+排序

2019-04-04  本文已影响0人  牡丹亭外_4fc3

{

    "query": {

        "bool": {

            "must": [

                {

                    "range": {

                        "date_created": {

                            "gte": "2019-01-22 00:00:00"

                        }

                    }

                },

                {

                    "range": {

                        "date_created": {

                            "lte": "2019-01-22 10:59:38"

                        }

                    }

                }

            ]

        }

    },

//以上为自定义查询条件,我写的是时间范围

    "size": 0,//size=0的时候仅返回聚合的结果

    "aggs": {

        "object_code_group": {//聚合分组的名字,自定义

            "terms": {

                "field": "object_code",//聚合的字段

                "order": {

                    "max_date_created": "asc"//对聚合分组结果进行排序,max_date_created为下方聚合分组的名字

                },

                "size": 10000//分组之后返回的结果条数//es默认最大1w条,再大需要改一个什么东西,忘记了

            },

//下方的分组是基于上方分组结果进行操作的

            "aggs": {

                "min_date_created": {//聚合分组的名字,自定义

                    "min": {

                        "field": "date_created"//选取当前分组结果中最小时间,我这里是时间格式

                    }

                },

                "max_date_created": {

                    "max": {

                        "field": "date_created"//选取当前分组结果中最大时间,我这里是时间格式

                    }

                }

            }

        }

    }

}

上一篇 下一篇

猜你喜欢

热点阅读