【1】根据客户号分组后求均值和求和
// dsl
{
"_source":["RCRD_ID", "STATE", "BUSI_CODE"]
, "query":{
"bool":{
"filter":[
{
"term":{
"STATE":"PDOS"
}
}
]
}
}
, "aggs": {
"by_loans":{
"nested":{
"path":"LOANS"
},
"aggs":{
"group_by_cust_num":{
"terms":{
"field":"LOANS.CUST_NUM"
}
, "aggs":{
"by_avg_loan_bal_sum":{
"avg":{
"field":"LOANS.OVD_MONEY_SUM"
}
}
, "by_sum_loan_bal_sum":{
"sum":{
"field":"LOANS.OVD_MONEY_SUM"
}
}
}
}
}
}
}
}
// 结果
{
"took": 8,
"timed_out": false,
"_shards": {
"total": 1,
"successful": 1,
"skipped": 0,
"failed": 0
},
"hits": {
"total": {
"value": 3,
"relation": "eq"
},
"max_score": 0.0,
"hits": [
{
"_index": "pdi_cust",
"_type": "_doc",
"_id": "tr_rd_01",
"_score": 0.0,
"_source": {
"RCRD_ID": "tr_rd_01",
"STATE": "PDOS",
"BUSI_CODE": "pdi"
}
},
{
"_index": "pdi_cust",
"_type": "_doc",
"_id": "tr_rd_02",
"_score": 0.0,
"_source": {
"RCRD_ID": "tr_rd_02",
"STATE": "PDOS",
"BUSI_CODE": "pdi"
}
},
{
"_index": "pdi_cust",
"_type": "_doc",
"_id": "tr_rd_03",
"_score": 0.0,
"_source": {
"RCRD_ID": "tr_rd_03",
"STATE": "PDOS",
"BUSI_CODE": "pdi"
}
}
]
},
"aggregations": {
"by_loans": {
"doc_count": 6,
"group_by_cust_num": {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 0,
"buckets": [
{
"key": "CUST_NUM_01",
"doc_count": 2,
"by_sum_loan_bal_sum": {
"value": 3333.0
},
"by_avg_loan_bal_sum": {
"value": 1666.5
}
},
{
"key": "CUST_NUM_02",
"doc_count": 2,
"by_sum_loan_bal_sum": {
"value": 2227.0
},
"by_avg_loan_bal_sum": {
"value": 1113.5
}
},
{
"key": "CUST_NUM_03",
"doc_count": 2,
"by_sum_loan_bal_sum": {
"value": 2231.0
},
"by_avg_loan_bal_sum": {
"value": 1115.5
}
}
]
}
}
}
}
【2】求整个索引的均值和总和
// dsl
{
"_source":["RCRD_ID", "STATE", "BUSI_CODE"]
, "query":{
"bool":{
"filter":[
{
"term":{
"STATE":"PDOS"
}
}
]
}
}
, "aggs": {
"by_loans":{
"nested":{
"path":"LOANS"
},
"aggs":{
"by_avg_loan_bal_sum":{
"avg":{
"field":"LOANS.OVD_MONEY_SUM"
}
}
, "by_sum_loan_bal_sum":{
"sum":{
"field":"LOANS.OVD_MONEY_SUM"
}
}
}
}
}
}
// 结果
{
"took": 12,
"timed_out": false,
"_shards": {
"total": 1,
"successful": 1,
"skipped": 0,
"failed": 0
},
"hits": {
"total": {
"value": 3,
"relation": "eq"
},
"max_score": 0.0,
"hits": [
{
"_index": "pdi_cust",
"_type": "_doc",
"_id": "tr_rd_01",
"_score": 0.0,
"_source": {
"RCRD_ID": "tr_rd_01",
"STATE": "PDOS",
"BUSI_CODE": "pdi"
}
},
{
"_index": "pdi_cust",
"_type": "_doc",
"_id": "tr_rd_02",
"_score": 0.0,
"_source": {
"RCRD_ID": "tr_rd_02",
"STATE": "PDOS",
"BUSI_CODE": "pdi"
}
},
{
"_index": "pdi_cust",
"_type": "_doc",
"_id": "tr_rd_03",
"_score": 0.0,
"_source": {
"RCRD_ID": "tr_rd_03",
"STATE": "PDOS",
"BUSI_CODE": "pdi"
}
}
]
},
"aggregations": {
"by_loans": {
"doc_count": 6,
"by_sum_loan_bal_sum": {
"value": 7791.0
},
"by_avg_loan_bal_sum": {
"value": 1298.5
}
}
}
}