数据集合
//过滤 查询年龄22和32岁之间的
GET
/mydb/_search
{
"query": {
"bool": {
"must": {
"match_all": {} },
"filter": {
"range": {
"age": {
"gte":
29,
"lte":
32
}
}
}
}
}
}
//查询结果
"hits"
: {
"total":
1,
"max_score":
1,
"hits": [
{
"_index":
"mydb",
"_type":
"external",
"_id":
"1",
"_score":
1,
"_source": {
"name":
"jack",
"age":
31,
"date":
"2018-04-12 12:01:01"
}
}
]
}
//统计 按照年龄聚合并根据统计数量排序
GET
/mydb/_search
{
"aggs": {
"结果": {
"terms": {
"field":
"age",
"order": [
{
"_count":
"asc"
}
],
"size":
10
}
}
},
"size":
0
}
//查询结果
"aggregations"
: {
"结果": {
"doc_count_error_upper_bound":
0,
"sum_other_doc_count":
0,
"buckets": [
{
"key":
22,
"doc_count":
1
},
{
"key":
31,
"doc_count":
1
},
{
"key":
100,
"doc_count":
1
},
{
"key":
28,
"doc_count":
7
}
]
}
}
//统计 按照名称统计数量,并计算平均年龄和按平均年龄排序
GET
/mydb/_search
{
"size":
0,
"aggs": {
"结果": {
"terms": {
"field":
"name.keyword",
"order": [
{
"平均年龄":
"asc"
}
]
},
"aggs": {
"平均年龄": {
"avg": {
"field":
"age"
}
}
}
}
}
}
//查询结果
"aggregations"
: {
"结果": {
"doc_count_error_upper_bound":
0,
"sum_other_doc_count":
0,
"buckets": [
{
"key":
"王明坤",
"doc_count":
1,
"平均年龄": {
"value":
22
}
},
{
"key":
"cheng hong fei",
"doc_count":
1,
"平均年龄": {
"value":
28
}
},
.....省略部分记录.....
,
{
"key":
"jack",
"doc_count":
2,
"平均年龄": {
"value":
29.5
}
},
{
"key":
"王鹏",
"doc_count":
1,
"平均年龄": {
"value":
100
}
}
]
}
}
//统计 按年龄区间分组 并在每个年龄区间 按照姓名分组并计算平均年龄
GET
/mydb/_search
{
"size":
0,
"aggs": {
"年龄分组": {
"range": {
"field":
"age",
"ranges": [
{
"from":
20,
"to":
28
},
{
"from":
28,
"to":
35
},
{
"from":
35,
"to":
101
}
]
},
"aggs": {
"姓名分组": {
"terms": {
"field":
"name.keyword"
},
"aggs": {
"average_balance": {
"avg": {
"field":
"age"
}
}
}
}
}
}
}
}
//查询结果
"aggregations"
: {
"年龄分组": {
"buckets": [
{
"key":
"20.0-28.0",
"from":
20,
"to":
28,
"doc_count":
1,
"姓名分组": {
"doc_count_error_upper_bound":
0,
"sum_other_doc_count":
0,
"buckets": [
{
"key":
"王明坤",
"doc_count":
1,
"average_balance": {
"value":
22
}
}
]
}
},
{
"key":
"28.0-35.0",
"from":
28,
"to":
35,
"doc_count":
8,
"姓名分组": {
"doc_count_error_upper_bound":
0,
"sum_other_doc_count":
0,
"buckets": [
{
"key":
"jack",
"doc_count":
2,
"average_balance": {
"value":
29.5
}
},
.....省略部分内容.....
,
{
"key":
"王明",
"doc_count":
1,
"average_balance": {
"value":
28
}
}
]
}
},
{
"key":
"35.0-101.0",
"from":
35,
"to":
101,
"doc_count":
1,
"姓名分组": {
"doc_count_error_upper_bound":
0,
"sum_other_doc_count":
0,
"buckets": [
{
"key":
"王鹏",
"doc_count":
1,
"average_balance": {
"value":
100
}
}
]
}
}
]
}
}