当前位置: 首页 > article >正文

【Elasticsearch】指标聚合概述

以下是elasticsearch指标聚合类型的描述、示例查询以及相应的响应示例:

### 1. Avg

**功能**:计算指定字段的平均值。

**示例**:

```json

GET /sales/_search

{

  "size": 0,

  "aggs": {

    "average_price": {

      "avg": {

        "field": "price"

      }

    }

  }

}

```

**响应**:

```json

{

  "aggregations": {

    "average_price": {

      "value": 150.5

    }

  }

}

```

 

### 2. Boxplot

**功能**:生成指定字段的箱线图统计数据。

**示例**:

```json

GET /sales/_search

{

  "size": 0,

  "aggs": {

    "boxplot_price": {

      "boxplot": {

        "field": "price"

      }

    }

  }

}

```

**响应**:

```json

{

  "aggregations": {

    "boxplot_price": {

      "min": 100.0,

      "q1": 120.0,

      "median": 150.0,

      "q3": 180.0,

      "max": 200.0

    }

  }

}

```

 

### 3. Cardinality

**功能**:计算指定字段的唯一值数量。

**示例**:

```json

GET /users/_search

{

  "size": 0,

  "aggs": {

    "unique_users": {

      "cardinality": {

        "field": "user_id"

      }

    }

  }

}

```

**响应**:

```json

{

  "aggregations": {

    "unique_users": {

      "value": 100

    }

  }

}

```

 

### 4. Extended Stats

**功能**:提供指定字段的扩展统计信息。

**示例**:

```json

GET /sales/_search

{

  "size": 0,

  "aggs": {

    "extended_stats_price": {

      "extended_stats": {

        "field": "price"

      }

    }

  }

}

```

**响应**:

```json

{

  "aggregations": {

    "extended_stats_price": {

      "count": 100,

      "min": 100.0,

      "max": 200.0,

      "avg": 150.0,

      "sum": 15000.0,

      "sum_of_squares": 2250000.0,

      "variance": 1250.0,

      "std_deviation": 35.35533905932738,

      "std_deviation_bounds": {

        "upper": 220.71067811865476,

        "lower": 79.28932188134524

      }

    }

  }

}

```

 

### 5. Geo-bounds

**功能**:计算指定地理字段的边界框。

**示例**:

```json

GET /locations/_search

{

  "size": 0,

  "aggs": {

    "geo_bounds": {

      "geo_bounds": {

        "field": "location"

      }

    }

  }

}

```

**响应**:

```json

{

  "aggregations": {

    "geo_bounds": {

      "bounds": {

        "top_left": {

          "lat": 40.712776,

          "lon": -74.005974

        },

        "bottom_right": {

          "lat": 40.712776,

          "lon": -74.005974

        }

      }

    }

  }

}

```

 

### 6. Geo-centroid

**功能**:计算指定地理字段的中心点。

**示例**:

```json

GET /locations/_search

{

  "size": 0,

  "aggs": {

    "geo_centroid": {

      "geo_centroid": {

        "field": "location"

      }

    }

  }

}

```

**响应**:

```json

{

  "aggregations": {

    "geo_centroid": {

      "location": {

        "lat": 40.712776,

        "lon": -74.005974

      }

    }

  }

}

```

 

### 7. Geo-line

**功能**:生成指定地理字段的线段路径。

**示例**:

```json

GET /tracks/_search

{

  "size": 0,

  "aggs": {

    "geo_line": {

      "geo_line": {

        "field": "path"

      }

    }

  }

}

```

**响应**:

```json

{

  "aggregations": {

    "geo_line": {

      "path": [

        {

          "lat": 40.712776,

          "lon": -74.005974

        },

        {

          "lat": 40.712777,

          "lon": -74.005975

        }

      ]

    }

  }

}

```

 

### 8. Cartesian-bounds

**功能**:计算指定笛卡尔坐标字段的边界框。

**示例**:

```json

GET /cartesian_points/_search

{

  "size": 0,

  "aggs": {

    "cartesian_bounds": {

      "cartesian_bounds": {

        "field": "point"

      }

    }

  }

}

```

**响应**:

```json

{

  "aggregations": {

    "cartesian_bounds": {

      "bounds": {

        "top_left": {

          "x": 10.0,

          "y": 20.0

        },

        "bottom_right": {

          "x": 30.0,

          "y": 40.0

        }

      }

    }

  }

}

```

 

### 9. Cartesian-centroid

**功能**:计算指定笛卡尔坐标字段的中心点。

**示例**:

```json

GET /cartesian_points/_search

{

  "size": 0,

  "aggs": {

    "cartesian_centroid": {

      "cartesian_centroid": {

        "field": "point"

      }

    }

  }

}

```

**响应**:

```json

{

  "aggregations": {

    "cartesian_centroid": {

      "point": {

        "x": 20.0,

        "y": 30.0

      }

    }

  }

}

```

 

### 10. Matrix Stats

**功能**:计算指定字段的矩阵统计信息。

**示例**:

```json

GET /data_points/_search

{

  "size": 0,

  "aggs": {

    "matrix_stats": {

      "matrix_stats": {

        "fields": ["x", "y"]

      }

    }

  }

}

```

**响应**:

```json

{

  "aggregations": {

    "matrix_stats": {

      "count": 100,

      "mean": {

        "x": 10.0,

        "y": 20.0

      },

      "covariance": {

        "x": {

          "x": 100.0,

          "y": 50.0

        },

        "y": {

          "x": 50.0,

          "y": 200.0

        }

      },

      "correlation": {

        "x": {

          "x": 1.0,

          "y": 0.5

        },

        "y": {

          "x": 0.5,

          "y": 1.0

        }

      }

    }

  }

}

```

 

### 11. Max

**功能**:计算指定字段的最大值。

**示例**:

```json

GET /sales/_search

{

  "size": 0,

  "aggs": {

    "max_price": {

      "max": {

        "field": "price"

      }

    }

  }

}

```

**响应**:

```json

{

  "aggregations": {

    "max_price": {

      "value": 200.0

    }

  }

}

```

 

### 12. Median Absolute Deviation

**功能**:计算指定字段的中位数绝对偏差。

**示例**:

```json

GET /sales/_search

{

  "size": 0,

  "aggs": {

    "mad_price": {

      "median_absolute_deviation": {

        "field": "price"

      }

    }

  }

}

```

**响应**:

```json

{

  "aggregations": {

    "mad_price": {

      "value": 10.0

    }

  


http://www.kler.cn/a/536328.html

相关文章:

  • 集合类不安全问题
  • 今日AI和商界事件(2025-02-07)
  • C++ 课程学习笔记:从对象生命周期看资源管理之道
  • 老游戏回顾:G2
  • 【2】高并发导出场景下,服务器性能瓶颈优化方案-异步导出
  • 【玩转全栈】--创建一个自己的vue项目
  • 每日Attention学习22——Inverted Residual RWKV
  • spring-ioc-基础知识
  • leetcode_双指针 557. 反转字符串中的单词 III
  • 上传文件报错:the request was rejected because no multipart boundary was found
  • Linux-查看开放端口
  • java---->策略模式
  • Intellij IDEA如何查看当前文件的类
  • HTML之form表单学习
  • go结构体详解
  • 03-移除元素
  • leetcode:1897. 重新分配字符使所有字符串都相等(python3解法)
  • 开发板适配之UART
  • mybatisPlus介绍
  • Java 21 虚拟线程详解
  • 【C#】一维、二维、三维数组的使用
  • 测试中的第一性原理:回归本质的质量思维革命
  • 数据结构之顺序表和链表
  • s1:简单测试-时间规模化
  • Kotlin 使用虚拟线程并在低版本中自动切换到协程
  • zabbix v7.2.3容器运行Proxy代理服务器启用IPV6访问