今天文章的内容是Sum(总和)跟Value Count(数量计算)
今天的示范资料
Sum大家应该都很熟悉了,这边就不多做解释,直接进入范例吧
先定个目标,假设我想要统计出资工一2的英文分数总和
query:
"query": {
"term": {
"class": "资工一2"
}
}
aggs query:
"aggs": {
"sum_eng": {
"sum": {
"field": "grades.eng",
"missing": 40
}
}
}
组合起来的query:
{
"query": {
"term": {
"class": "资工一2"
}
},
"aggs": {
"sum_eng": {
"sum": {
"field": "grades.eng",
"missing": 40
}
}
}
}
结果:
"aggregations" : {
"sum_eng" : {
"value" : 212.0
}
}
也可以用脚本调整,假设想帮分数低於60分的人+10分,范例如下
aggs query:
"aggs": {
"sum_eng": {
"sum": {
"field": "grades.eng",
"missing": 40,
"script": {
"lang": "painless",
"source": "if(doc['grades.eng'].value<60){doc['grades.eng'].value+10;}else{doc['grades.eng'].value;}"
}
}
}
}
结果:
"aggregations" : {
"sum_eng" : {
"value" : 222.0
}
}
还有另外一种是针对字段histogram fields的应用,想了解更多的可以去:
https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-metrics-sum-aggregation.html#search-aggregations-metrics-sum-aggregation-histogram-fields
histogram fields说明:
https://www.elastic.co/guide/en/elasticsearch/reference/current/histogram.html
这种聚合方式会回传指定字段的统计数量
先定个目标,假设我们今天想知道资工一2的班级人数
query
"query": {
"term": {
"class": "资工一2"
}
}
aggs query:
"aggs": {
"class_count": {
"value_count": {
"field": "class"
}
}
}
组合起来的query:
{
"query": {
"term": {
"class": "资工一2"
}
},
"aggs": {
"class_count": {
"value_count": {
"field": "class"
}
}
}
}
结果:
"aggregations" : {
"class_count" : {
"value" : 3
}
}
一样有针对histogram fields的应用,想了解可以去:
https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-metrics-valuecount-aggregation.html
今天的文章就到这边,谢谢大家
<<: 【I Love Vue 】 Day 28 爱荷华博弈任务(九) - 结算画面
>>: 【Day 27】情境模拟:该如何协助设计师,提供可以执行的设计稿 !?
您的订阅是我制作影片的动力 订阅点这里~ 影片程序码 ## 应用四: 建构特徵 #### # 用GM...
刚开始一定要先恭喜自己,我完成了!! 再发第一天文之前完全不觉得自己有办法可以胜任这个挑战,没想到我...
元件介绍 Pagination 是一个分页元件,当页面中一次要载入过多的资料时,载入及渲染将会花费更...
网站,可以让你在网路世界有个发声的立足点。拥有自己的网站可以扩大影响范围,让使用者能透过浏览网站从色...
一般来说,资料的备份策略从规模的小到大,我们可以有几种选择,如果只是小规模的、轻量的,通常是烧成备...