我们有一个索引,其中包含每天访问我们网站的活动的一个文档,其中包含访问时间和用户ID,同一用户可以在同一天多次访问。我试图获得每分钟第一次访问的用户数。这可以在单个查询中执行吗?
我知道术语聚合中的top_hits聚合(按时间字段排序)将获得代表每天第一次唯一访问的文档。我知道date_histogram会按分钟汇总访问次数,但不会应用唯一性检查。 date_histogram的基数子聚合仅验证每个桶的唯一性,而不是整天。 date_histogram不接受聚合内容的管道规范。
我目前担心唯一的答案是执行top_hits聚合,然后自己将其聚合到客户端,或者为我想要验证唯一用户的每一分钟执行单独的查询(类似于查询来自的唯一用户ID)午夜到凌晨12:01,然后是午夜到12:02等,跟踪每个查询中计数的增长。)
答案 0 :(得分:0)
您可以在单个弹性搜索查询中执行多个聚合
{
"query": {
// some query
},
"aggs": {
"aggregation1": {
},
"aggrgation2": {
},
}