我需要运行一个聚合,即获取特定集合中的ID的一天的唯一ID。所以SQL查询就像
SELECT count (DISTICT my_field) FROM my_table WHERE time BETWEEN '2015-02-13 00:00:00' AND '2015-02-13 23:59:59' AND my_field IN (value1,value2,value3....value n)
我现在正在使用术语聚合,并计算存储桶的数量。但它导致了错误的计数,我将桶计数作为我在查询字符串中指定的“my_field”的值的数量。那么有没有更好的方法呢?
顺便说一句,我有超过4k的值需要检查一天。我的意思是在哪里条件。
答案 0 :(得分:1)
您可以使用Cardinality Aggregation 和Filter Aggregation来获取所需内容。在过滤器聚合的过滤器部分中,对where
子句进行编码并添加基数聚合以获取my_field
字段的不同值的计数。