我需要运行一个聚合,以获取特定集合中的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的值需要一天进行检查。我的意思是在哪里条件。
最佳答案
您可以将Cardinality Aggregation 和Filter Aggregation一起使用以获取所需的内容。在过滤器聚合的过滤器部分中,对where
子句进行编码,然后添加基数聚合以获取my_field
字段的不同值的计数。
关于elasticsearch - Elasticsearch哪个是更好的聚合,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28871175/