通过sql查询创建感知查询

时间:2017-04-24 06:12:21

标签: sql elasticsearch sense

我希望获得年限并在其上申请小组以获得记录计数。为此,我的SQL查询是 -

select substr(lastModified,0,4) , count(*) from EOM group by substr(lastModified,0,4).

我在上面创建的查询是 -

      {
"size":0,
    "aggs": {
        "profit": {
            "scripted_metric": {
                "init_script" : "_agg.transactions = []",
                "map_script" : "_agg.transactions.add(doc.timeModified.date.getYear())", 
                "combine_script" :  "return _agg.transactions"

            }
        },
        "aggs":{
            "terms":{
                "field":"profit"
            }
        }
    }
}

结果 -

{
    "aggregations": {
        "profit": {
            "value": [
                [
                    2014,
                    2015,
                    2016,
                    2015,
                    2017

                ],
                [
                    2015,
                    2015,
                    2016,
                    2016,
                    2017
                ]
            ]
        },
        "aggs": {
            "doc_count_error_upper_bound": 0,
            "sum_other_doc_count": 0,
            "buckets": []
        }
    }
}

它给了我数年但不对利润进行了侵略,其存放空白。

我想要查询上面的sql查询。

1 个答案:

答案 0 :(得分:0)

为什么不使用日期范围聚合而不是脚本度量?

(唯一的缺点是你必须在范围部分手动提供年份)