使用date_histogram或类似方法汇总top_hits的结果?

时间:2016-07-22 15:08:24

标签: elasticsearch

我们有一个索引,其中包含每天访问我们网站的活动的一个文档,其中包含访问时间和用户ID,同一用户可以在同一天多次访问。我试图获得每分钟第一次访问的用户数。这可以在单个查询中执行吗?

我知道术语聚合中的top_hits聚合(按时间字段排序)将获得代表每天第一次唯一访问的文档。我知道date_histogram会按分钟汇总访问次数,但不会应用唯一性检查。 date_histogram的基数子聚合仅验证每个桶的唯一性,而不是整天。 date_histogram不接受聚合内容的管道规范。

我目前担心唯一的答案是执行top_hits聚合,然后自己将其聚合到客户端,或者为我想要验证唯一用户的每一分钟执行单独的查询(类似于查询来自的唯一用户ID)午夜到凌晨12:01,然后是午夜到12:02等,跟踪每个查询中计数的增长。)

1 个答案:

答案 0 :(得分:0)

您可以在单个弹性搜索查询中执行多个聚合 { "query": { // some query }, "aggs": { "aggregation1": { }, "aggrgation2": { }, }