elasticsearch按照两个字段聚合,其二个字段为日期

两个字段聚合,第一个为普通字段user_id,第二个是日期date,日期需要按照模糊聚合,如日期为2018-02-15,聚合user_id,2018-02的数据 就是mysql的GROUP BY如下形式

group_by(user_id,date_format(date,'%Y-%m')

通过脚本已经实现了两个字段的聚合,但是第二个字段如何实现模糊聚合
"aggs" => [

                "user_group" => [
                    "terms" => [
                        "script" => [
                            "inline" => "doc['user_id.keyword'].value +'-split-'+ doc['date'].value "
                        ]
                    ],
                    "aggs" => [
                        "sum_price" => [
                            "sum" => [
                                "field" => "rmb_amount"
                             ]
                        ]
                    ]
                ]
            ]
            

请大神协助,万分感谢

阅读 3.9k
1 个回答

已解决:

            "aggs" => [
                "signing_company_id" => [
                    "terms" => [
                        "field" => "signing_company_id.keyword"
                    ],
                    "aggs" => [
                        "user_group" => [
                            "terms" => [
                                "field" => "user_id.keyword"
                            ],
                            "aggs" => [
                                "dates" => [
                                    "date_histogram" => [
                                        "field" => "end_date",
                                        "interval" => "year",
                                        "format" => "yyyy-MM-dd HH:mm:ss"
                                     ],
                                    "aggs" => [
                                        "sum_price" => [
                                            "sum" => [
                                                "field" => "rmb_amount"
                                             ]
                                        ]
                                     ]
                                ]
                            ]
                        ]
                    ]
                ]
            ]
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进