Elasticsearch提供了丰富的聚合(aggregation)和分组(group by)统计功能,可以对数据进行多维度的分析和统计。其中,聚合(aggregation)是指对数据进行计算、统计或分组操作,而分组(group by)则是指按照某个或多个字段对数据进行分组操作。
以下是一些常用的聚合(aggregation)和分组(group by)操作:
{
"aggs": {
"group_by_city": {
"terms": {
"field": "city.keyword"
}
}
}
}
{
"aggs": {
"group_by_day": {
"date_histogram": {
"field": "timestamp",
"interval": "day"
}
}
}
}
{
"aggs": {
"group_by_price": {
"range": {
"field": "price",
"ranges": [
{ "to": 10 },
{ "from": 10, "to": 50 },
{ "from": 50 }
]
}
}
}
}
{
"aggs": {
"avg_price": {
"avg": {
"field": "price"
}
},
"max_price": {
"max": {
"field": "price"
}
}
}
}
除了以上常用的聚合(aggregation)和分组(group by)操作外,Elasticsearch还提供了很多其他的聚合操作,例如嵌套聚合、子聚合、pipeline聚合等,可以根据实际需求进行选择和使用。
如果您需要进一步了解Elasticsearch的聚合(aggregation)和分组(group by)功能,可以访问官方文档进行学习和参考。