Elasticsearch 平均聚合
Elasticsearch 的平均聚合(Avg Aggregation)可以用来计算一组数值的平均值。以下是一个使用Elasticsearch DSL(Domain Specific Language)的Python例子,使用Elasticsearch的平均聚合功能。
假设我们有一个名为logs
的索引,并且我们想要计算字段response_time
的平均值。
from elasticsearch import Elasticsearch
from elasticsearch_dsl import Search
# 初始化Elasticsearch客户端
es = Elasticsearch("http://localhost:9200")
# 使用Elasticsearch DSL定义搜索
s = Search(using=es, index="logs")
# 添加平均聚合
s = s.aggregation('avg_response_time', 'avg', field='response_time')
# 执行搜索并获取结果
response = s.execute()
# 获取平均值
avg_response_time = response.aggregations.avg_response_time.value
print(f"平均响应时间: {avg_response_time} 毫秒")
这段代码首先导入了必要的Elasticsearch模块,然后创建了一个Elasticsearch客户端,定义了一个针对logs
索引的搜索对象,并添加了一个平均聚合(avg
)来计算response_time
字段的平均值。最后,执行搜索并打印出计算出的平均响应时间。
评论已关闭