我需要创建一个“按日期划分的活跃用户数”的条形图。活跃用户表示最近7天登录的用户。 所以我需要计算其last_activity日期在最后7天内的用户总数。我需要为我的图表中的每个栏(日)做这件事。
我知道需要使用聚合弹性搜索来完成,但不确定
我应该使用哪些聚合?存储桶聚合,管道聚合?
如果你知道一个类似的例子,请告诉我。
在这里,您可以找到用户“john”的两个示例文档示例
{
"userid": "john",
"last_activity": "2017-08-09T16:10:10.396+01:00",
"date_of_this_report": "2017-09-24T00:00:00+01:00"
}
{
"userid": "john",
"last_activity": "2017-08-09T16:10:10.396+01:00",
"date_of_this_report": "2017-09-25T00:00:00+01:00"
}
答案 0 :(得分:0)
您可以使用elasticsearch的{{3}}操作过滤最近7天的最后一项活动的用户。您可以在date math
之前推送过滤器if (!annotatedQuery.contains(String.format(":%s", parameter.getName()))) {
throw new IllegalStateException(String.format(
"Using named parameters for method %s but parameter '%s' not found in annotated query '%s'!", method,
parameter.getName(), annotatedQuery));
}
希望这适合你。