1、Terms Aggregation
对词条Term字段的值进行group聚合,得到每个Term字段的值的个数
{
"size" : 0,
"aggs": {
"colors": {
"terms": {
"field": "securityId"
}
}
}
}
2、Histogram Aggregation直方图聚合
根据指定的时间间隔构造存储桶。 属于每个间隔的值将形成一个间隔存储桶。
interval参数指定每统计间隔是多少。
interval关键字 | 说明 |
---|---|
seconds | 1, 5, 10, 30的倍数。 |
minutes | 1, 5, 10, 30的倍数。 |
hours | 1, 3, 12的倍数。 |
days | 1,7的倍数。 |
months | 1, 3的倍数。 |
years | 1, 5, 10, 20, 50, 100的倍数。 |
{
"size":0,
"aggs": {
"colors": {
"histogram": {
"field": "priceNow",
"interval": 100
}
}
}
}
3、日期直方图聚合(Date histogram aggregation)
似于正常的直方图,区别在于,可以使用日期/时间表达式指定间隔。
{
"size": 0,
"aggs": {
"birthdays": {
"date_histogram": {
"field": "updateTime",
"interval": "year"
}
}
}
}
4、 Range Aggregation范围值区间聚合
对指定字段的值,进行区间访问统计,得到各区间的count数
{
"size":0,
"query":{
"bool":{
"must":[
{
"range":{
"tradeDate":{
"from":20201216,
"to":20201216,
"include_lower":true,
"include_upper":true
}
}
}
]
}
},
"aggs": {
"goal_ranges": {
"range": {
"field": "priceNow",
"ranges": [
{
"to": 20
},
{
"from": 20,
"to": 100
},
{
"from": 100
}
]
}
}
}
}
5、聚合筛选,类似SQL里面的having
逻辑:指定日期范围内,按股票分组,求平均价值大于10,且在指定时间范围内只出现过1次的股票。
{
"size":0,
"query":{
"bool":{
"must":[
{
"range":{
"tradeDate":{
"from":20201213,
"to":20201216,
"include_lower":true,
"include_upper":true
}
}
}
]
}
},
"aggs": {
"groupUserId": {
"terms": {
"field": "securityId",
"size":2000,
"order" : { "_key" : "asc" }
},
"aggs": {
"avgAmount": {
"avg": {
"field": "priceNow"
}
},
"having": {
"bucket_selector": {
"buckets_path": {
"orderCount": "_count",
"avgAmount": "avgAmount"
},
"script": {
"source": "params.avgAmount >= 10 && params.orderCount ==1 "
}
}
}
}
}
}
}
6、邻近矩阵聚合(Adjacency matrix)
adjacency_matrix类型的聚合可以返回类似于集合的操作,例如A,B,C三个筛选条件,聚合请求就会返回符合A的,符合A&B的,符合B的,符合B&C的,符合C的,符合A&C的不同集合的数据数目。
{
"size":0,
"query":{
"bool":{
"must":[
{
"range":{
"tradeDate":{
"from":20201216,
"to":20201216,
"include_lower":true,
"include_upper":true
}
}
}
]
}
},
"aggs" : {
"interactions" : {
"adjacency_matrix" : {
"filters" : {
"grpA" : { "terms" : { "signalType" : ["fundDepthSignal", "nxtjBsSignal"] }},
"grpB" : { "terms" : { "signalType" : ["nxtjBsSignal", "zhcmBsSignal"] }},
"grpC" : { "terms" : { "signalType" : ["fundDepthSignal", "bhlnEnergyBsSignal"] }}
}
}
}
}
}