按日期和用户ID过滤的ElasticSearch计数

时间:2018-08-02 12:57:21

标签: elasticsearch

我正在为项目使用ElasticSearchLogstashKibana构建概念证明。

对于这个项目,我正在通过ELK代理将定制应用程序中的日志提取到FileBeats堆栈中。

每个日志行中都有嵌套的JSON,我已将它们作为单独的字段Kibana成功提取到(rawjson.id, rawjson.type, rawjson.datecreated)中。

我现在面临的挑战是,我正在尝试建立一个ElasticSearch查询,该查询将返回这些值的计数摘要,这些计数先由rawjson.datecreated分解,然后再由rawjson.id细分为一个计数每个rawjson.type = 'code'的ID旁边。

我正在寻找返回类似的内容

{
    "results": {
        "usage_by_date": {
            "buckets": [{
                "2015-01-01": [{
                        "rawjson.id": "xxxxx-yyyyy-zzzzz",
                        "count": 23
                    },
                    {
                        "rawjson.id": "yyyyy-zzzzz-xxxxx",
                        "count": 45
                    }
                ],
                "2015-02-01": [{
                        "rawjson.id": "xxxxx-yyyyy-zzzzz",
                        "count": 23
                    },
                    {
                        "rawjson.id": "yyyyy-zzzzz-xxxxx",
                        "count": 45
                    }
                ]
            }]
        }
    }
}

构造此ElasticSearch查询以以这种格式返回结果的最佳方法是什么?

预先感谢

0 个答案:

没有答案