世界上并没有完美的程序,但是我们并不因此而沮丧,因为写程序就是一个不断追求完美的过程。
问:derivative有什么特点?
答:
问:derivative如何使用?
答:
DELETE /derivative_test PUT /derivative_test { "mappings": { "properties": { "type": {"type": "integer"}, "num": {"type": "integer"}, "date": {"type": "date"} } } } POST /derivative_test/_bulk {"index": {"_id": 1}} {"type": 1, "num": 400, "date": "1989-01-10"} {"index": {"_id": 2}} {"type": 2, "num": 450, "date": "1988-01-10"} {"index": {"_id": 3}} {"type": 1, "num": 580, "date": "1990-01-10"} {"index": {"_id": 4}} {"type": 2, "num": 990, "date": "1990-01-10"} {"index": {"_id": 5}} {"type": 1, "num": 660, "date": "1989-01-10"} # 通过derivative计算增长量 # 通过双重derivative计算增长量的涨幅 # 通过unit计算单位平均变化量 GET /derivative_test/_search { "size": 0, "aggs": { "derivative_aggs": { "date_histogram": { "field" : "date", "calendar_interval": "year" }, "aggs": { "sum_aggs": { "sum": { "field": "num" } }, "deriva_one_aggs": { "derivative": { "buckets_path": "sum_aggs", "unit": "month" } }, "deriva_two_aggs": { "derivative": { "buckets_path": "deriva_one_aggs", "unit": "month" } } } } } } # 结果 { "took" : 1, "timed_out" : false, "_shards" : { "total" : 1, "successful" : 1, "skipped" : 0, "failed" : 0 }, "hits" : { "total" : { "value" : 5, "relation" : "eq" }, "max_score" : null, "hits" : [ ] }, "aggregations" : { "derivative_aggs" : { "buckets" : [ { "key_as_string" : "1988-01-01T00:00:00.000Z", "key" : 567993600000, "doc_count" : 1, "sum_aggs" : { "value" : 450.0 } }, { "key_as_string" : "1989-01-01T00:00:00.000Z", "key" : 599616000000, "doc_count" : 2, "sum_aggs" : { "value" : 1060.0 }, "deriva_one_aggs" : { "value" : 610.0, "normalized_value" : 50.728125 } }, { "key_as_string" : "1990-01-01T00:00:00.000Z", "key" : 631152000000, "doc_count" : 2, "sum_aggs" : { "value" : 1570.0 }, "deriva_one_aggs" : { "value" : 510.0, "normalized_value" : 42.52823630136986 }, "deriva_two_aggs" : { "value" : -100.0, "normalized_value" : -8.338869863013699 } } ] } } }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)