根据某字段值聚集返回统计数据
#curl 写法
curl 'localhost:9200/get-together/_search?pretty' -H 'Content-Type:application/json' -d '{
"aggs":{
"top_tags":{
"terms":{
"field":"tags.verbatim"
}
}
}}'
# kibana主体写法
GET /get-together/_search
{
"aggs": {
"top_tags": {
"terms": {
"field": "tags.verbatim"
}
}
}
}
Elasticsearch提供了多种聚合类型,用于不同的分析目的
1.terms聚合-适用于统计字段值的分布情况
2.avg:计算平均值。
3.sum:计算总和。
4.min和max:找到最小值和最大值。
5.histogram:按照数值区间分桶。
6.date_histogram:按照时间间隔分桶。
7.range:基于预定义的范围分桶。
8.cardinality:计算字段的基数(不同值的数量)。
等等。
在指定查询条件情况下聚合
GET /get-together/_search
{
"query": {
"match": {
"name":"Denver"
}
},
"aggs": {
"top_tags": {
"terms": {
"field": "tags.verbatim"
}
}
}
}
聚合某个数组类型的字段
#其中的stats 还可以换成avg min max sum value_count
GET /get-together/_search?pretty
{
"size": 0,
"aggs": {
"attendees_stats": {
"stats": {
"script": {
"source": "doc['attendees'].size()"
}
}
}
}
}
#使用extended_stats 聚合获取平方,方差,标准差
GET /get-to服务器托管网gether/_search?pretty
{
"size": 0,
"aggs": {
"attendees_stats": {
"extended_stats": {
"script": {
"source": "doc['attendees'].size()"
}
}
}
}
}
Percentiles 聚合
#percentiles聚合用于计算一个字段的百分位数,可以帮助你了解数据的分布。
GET /_search
{
"aggs": {
"grade_percentiles": {
"percentiles": {
"field": "grade",
"percents": [25, 50, 75] // 可以指定需要的百分位数
}
}
}
}
Percentile Ranks 聚合
#percentile_ranks聚合显示了值在数据分布中的排名百分位。
GET /_search
{
"aggs": {
"grade_percentile_ranks": {
"percentile_ranks": {
"field": "grade",
"values": [60, 70, 80] // 你想知道这些值的百分位排名
}
}
}
}
Cardinality 聚合
#cardinality聚合用于计算字段中不同值的数量,类似于SQL中的COUNT(DISTINCT field)。
GET /_search
{
"aggs": {
"unique_grades服务器托管网": {
"cardinality": {
"field": "grade"
}
}
}
}
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
相关推荐: SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式 基础(持续更新~)
具体操作: day2: 作用: 出现跨域问题 配相对应进行配置即可解决: IDEA连接的,在url最后加参数?useSSL=false注意链接密码是123(docker中mysql密码) 注意,虚拟机中设置的密码和i服务器托管网p要和主机上对应才能连接上 把l…