本文主要是介绍es - elasticsearch - aggs - pipeline - cumulative_cardinality,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
世界上并没有完美的程序,但是我们并不因此而沮丧,因为写程序就是一个不断追求完美的过程。
问:cumulative_cardinality有什么特点?
答:
问:cumulative_cardinality如何使用?
答:
DELETE /cumulative_cardinality_testPUT /cumulative_cardinality_test
{"mappings": {"properties": {"type": {"type": "integer"},"num": {"type": "integer"},"date": {"type": "date"}}}
}POST /cumulative_cardinality_test/_bulk
{"index": {"_id": 1}}
{"type": 1, "num": 4, "date": "1989-01-10"}
{"index": {"_id": 2}}
{"type": 2, "num": 4, "date": "1988-01-10"}
{"index": {"_id": 3}}
{"type": 1, "num": 5, "date": "1990-01-10"}
{"index": {"_id": 4}}
{"type": 2, "num": 9, "date": "1990-01-10"}
{"index": {"_id": 5}}
{"type": 1, "num": 6, "date": "1989-01-10"}GET /cumulative_cardinality_test/_search
{"size": 0,"aggs": {"cumulative_aggs": {"date_histogram": {"field": "date","calendar_interval": "year"},"aggs": {"cardinality_aggs": {"cardinality": {"field": "num"}},"cumu_aggs": {"cumulative_cardinality": {"buckets_path": "cardinality_aggs"}},"derivative_aggs": {"derivative": {"buckets_path": "cumu_aggs"}}}}}
}# 结果
{"took" : 862,"timed_out" : false,"_shards" : {"total" : 1,"successful" : 1,"skipped" : 0,"failed" : 0},"hits" : {"total" : {"value" : 5,"relation" : "eq"},"max_score" : null,"hits" : [ ]},"aggregations" : {"cumulative_aggs" : {"buckets" : [{"key_as_string" : "1988-01-01T00:00:00.000Z","key" : 567993600000,"doc_count" : 1,"cardinality_aggs" : {"value" : 1},"cumu_aggs" : {"value" : 1}},{"key_as_string" : "1989-01-01T00:00:00.000Z","key" : 599616000000,"doc_count" : 2,// 当前bucket唯一值(基数)数量"cardinality_aggs" : {"value" : 2},// 从开始到现在bucket的累积基数的数量"cumu_aggs" : {"value" : 2},// 和上一个bucket相比增加的基数的数量"derivative_aggs" : {"value" : 1.0}},{"key_as_string" : "1990-01-01T00:00:00.000Z","key" : 631152000000,"doc_count" : 2,"cardinality_aggs" : {"value" : 2},"cumu_aggs" : {"value" : 4},"derivative_aggs" : {"value" : 2.0}}]}}
}
这篇关于es - elasticsearch - aggs - pipeline - cumulative_cardinality的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!