ES中的数据类型学习之Aggregate metric(聚合计算)

Aggregate metric field type | Elasticsearch Guide [7.17] | Elastic

对于object类型的字段来说,可以存子字段为 min/max/sum/value_count

PUT my-index
{"mappings": {"properties": {"my-agg-metric-field": { -- 字段名"type": "aggregate_metric_double", --字段类型"metrics": [ "min", "max", "sum", "value_count" ], --那些聚合操作"default_metric": "max"        -- 默认显示的聚合字段 用来query的}}}
}

Parameters for aggregate_metric_double fields 

metrics

(Required, array of strings) Array of metric sub-fields to store. Each value corresponds to a metric aggregation. Valid values are min, max, sum, and value_count. You must specify at least one value.

--只能是min/max/sum/value_count

default_metric

(Required, string) Default metric sub-field to use for queries, scripts, and aggregations that don’t use a sub-field. Must be a value from the metrics array.

-- 必须是metrics里的

time_series_metric

[preview] This functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features. (Optional, string)

For internal use by Elastic only.

--还没开放。

Uses

We designed aggregate_metric_double fields for use with the following aggregations:

  • A min aggregation returns the minimum value of all min sub-fields.
  • A max aggregation returns the maximum value of all max sub-fields.
  • A sum aggregation returns the sum of the values of all sum sub-fields.
  • A value_count aggregation returns the sum of the values of all value_count sub-fields.
  • A avg aggregation. There is no avg sub-field; the result of the avg aggregation is computed using the sum and value_count metrics. To run an avg aggregation, the field must contain both sum and value_count metric sub-field.

 -- 这里的sum和value_count都是 sum,但是value_count的用处是来计算avg

Running any other aggregation on an aggregate_metric_double field will fail with an "unsupported aggregation" error.

Finally, an aggregate_metric_double field supports the following queries for which it behaves as a double by delegating its behavior to its default_metric sub-field:

  • exists
  • range
  • term
  • terms

 -- 目前type=aggregate_metric_double 只持支持min/max/sum/value_count,其他类型会报错,目前也只支持下面4种查询

实战开始。

PUT stats-index
{
  "mappings": {
    "properties": {
      "agg_metric": {
        "type": "aggregate_metric_double",
        "metrics": [ "min", "max", "sum", "value_count" ],
        "default_metric": "max"
      }
    }
  }
}

PUT stats-index/_doc/1
{
  "agg_metric": {
    "min": -302.50,
    "max": 702.30,
    "sum": 200.0,
    "value_count": 25
  }
}

PUT stats-index/_doc/2
{
  "agg_metric": {
    "min": -93.00,
    "max": 1702.30,
    "sum": 300.00,
    "value_count": 25
  }
}

查询数据

POST stats-index/_search?size=0
{
  "aggs": {
    "metric_min": { "min": { "field": "agg_metric" } },
    "metric_max": { "max": { "field": "agg_metric" } },
    "metric_value_count": { "value_count": { "field": "agg_metric" } },
    "metric_sum": { "sum": { "field": "agg_metric" } },
    "metric_avg": { "avg": { "field": "agg_metric" } }
  }
}

-- 说下这个查询

-- size=0 意思是不看基础数据,只看聚合后的结果数据

-- aggs 是类似 term must 代表现在查的聚合数据

-- metric_min 代表聚合后的字段名,

--min 代表是哪个聚合方式min/max。。。

--"field": "agg_metric" 代表的是对哪个字段进行聚合可能有agg_metric1,agg_metric2

查询基础数据

GET stats-index/_search
{
  "query": {
    "term": {
      "agg_metric": {
        "value": 1702.30
      }
    }
  }
}

注意这里查询的是 max的值 也就是上文提到的default_metric

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/49001.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

时序分解 | Matlab基于CEEMDAN-CPO-VMD的CEEMDAN结合冠豪猪优化算法(CPO)优化VMD二次分解

时序分解 | Matlab基于CEEMDAN-CPO-VMD的CEEMDAN结合冠豪猪优化算法(CPO)优化VMD二次分解 目录 时序分解 | Matlab基于CEEMDAN-CPO-VMD的CEEMDAN结合冠豪猪优化算法(CPO)优化VMD二次分解效果一览基本介绍程序设计参考资料 效果一览…

R的数据集读取和利用,如何高效地直接复制黏贴数据到R

​​​​​​R语言自带了许多内部数据集,这些数据集不仅为初学者提供了丰富的练习资源,还为研究人员和数据分析师提供了方便的数据测试和模型验证工具。在这篇文章中,我们将详细探讨如何读取和使用数据集。 一、认识数据集 1、数据和数据集 数据(Data)是指以某种形式表示…

SpringMVC中的注解驱动

文章目录 SpringMVC中的注解驱动一、注解驱动的作用二、注解驱动的使用场景1.注册Bean2.数据返回响应 SpringMVC中的注解驱动 &#xff1c;mvc:annotation-driven&#xff1e;就是注解驱动 一、注解驱动的作用 1.<mvc:annotation-driven> Spring MVC用来提供Controller请…

Taro中的坑

Taro什么玩意啊,文档文档不全,案例案例也不详细,为了绩效开源的东西用起来真的是如鲠在喉! 1 ScrollView自动撑开 视图内容(也就是ScrollView内部的视图) 在封装自己的弹框的时候用到ScrollView,如果给ScrollView一个固定的高度,他是肯定会滚动。 但是我们设计要求是…

软考:软件设计师 — 5.计算机网络

五. 计算机网络 1. OSI 七层模型 层次名称主要功能主要设备及协议7应用层实现具体的应用功能 POP3、FTP、HTTP、Telent、SMTP DHCP、TFTP、SNMP、DNS 6表示层数据的格式与表达、加密、压缩5会话层建立、管理和终止会话4传输层端到端的连接TCP、UDP3网络层分组传输和路由选择 三…

我的办公小助手——办公小浣熊

在当今快节奏的工作环境中&#xff0c;高效的办公室工作不再是锦上添花&#xff0c;而是专业人士必备的技能。近年来&#xff0c;随着人工智能技术的不断发展&#xff0c;越来越多的人工智能软件被引入办公领域。凭借其高效和智能的特点&#xff0c;他们已经成为我们的日常办公…

7. 聚类算法 KMeans

聚类算法 KMeans 1. 应用&#xff1a;大数据杀熟2. 迭代法3. 代码 1. 应用&#xff1a;大数据杀熟 618、双十一&#xff0c;平台要对用户进行分类&#xff1a;用户&#xff1a; 脑残粉&#xff08;不降价&#xff0c;或者涨点价&#xff09;墙头草&#xff08;给点小优惠券&am…

Day14 | 找树左下角的值 路径总和 从中序与后序遍历序列构造二叉树

语言 Java 找树左下角的值 题目链接&#xff1a;找树左下角的值 题目 给定一个二叉树的 根节点 root&#xff0c;请找出该二叉树的 最底层 最左边 节点的值。 假设二叉树中至少有一个节点。 思路 本题有两种做法我主要讲一下递归的思路&#xff0c;创建两个全局变量&…

二叉树精选面试题

&#x1f48e; 欢迎大家互三&#xff1a;2的n次方_ 1. 相同的树 100. 相同的树 同时遍历两棵树 判断结构相同&#xff1a;也就是在遍历的过程中&#xff0c;如果有一个节点为null&#xff0c;另一棵树的节点不为null&#xff0c;那么结构就不相同 判断值相同&#xff1a;只需…

Java写的简单卡券系统

以下是一个简单的Java卡券系统的示例代码&#xff1a; import java.util.ArrayList; import java.util.List;class Card {private String code;private double balance;public Card(String code, double balance) {this.code code;this.balance balance;}public String getC…

Android GlSurfaceView渲染YUV图形

OpenGL ES 2.0 的代码&#xff0c;用来显示YUV格式的视频数据。这个示例将包括初始化OpenGL环境、加载Shader程序、绘制纹理等步骤 import android.content.Context; import android.opengl.GLES20;import java.nio.ByteBuffer; import java.nio.ByteOrder; import java.nio.Fl…

Ubuntu22.04安装与卸载nginx

换源 如果是国内的就不用换 中科大的源&#xff0c;由于我这里是Ubuntu&#xff0c;所以我就直接选Ubuntu22.04就行 点击下载&#xff0c;或者你直接复制这个sources.list的内容到linux中的/etc/apt/sources.list也可以&#xff0c;把原来的sources.list备份一下&#xff0c;…

nfs和samba

​webserver 服务器&#xff1a;作用是发布nginx的web项目 1、安装nginx&#xff08;只下载不安装&#xff09; [rootweb_server ~]# yum -y install --downloadonly --downloaddir./soft/ nginx 2、配置一个本地的nginx仓库 [rootweb_server ~]# yum -y install createrepo …

『 Linux 』信号概念与信号的产生

文章目录 信号概念前台进程与后台进程信号的本质硬件理解信号的产生 信号概念 "信号"一词指用来传达信息或只是的各种形式的提示或标志; 在生活中常见的信号例如红绿灯,交通标志,短信通知等 在操作系统中,"信号"是一种用于异步通知进程发生特定事件的机制;…

数据库-练习

题目要求&#xff1a;按照要求建立数据库与表&#xff0c;并完成相应的查询操作 解题步骤如下代码所示&#xff1a; //建立相关的数据库mydb8_worker mysql> show databases; -------------------- | Database | -------------------- | information_schema | | …

C++:智能指针 [auto_ptr]

文章目录 0x1 基本使用0x11 初步使用0x12 get()函数【获取指针指向的内存地址】0x13 release()函数 【仅仅是释放所有权&#xff0c;但是并没有清空内存】0x14 reset()函数 【旧值析构,重新设置指针】 0x2 迷惑点0x21 迷惑点1 &#xff08;拷贝赋值&#xff09;0x22 迷惑点2 &a…

NMEA 2000航空插头插座选择

一、概述 NMEA 2000航空插头插座是船舶电子设备中不可或缺的部分&#xff0c;它们负责在船舶的各种电子系统间传输数据和电源信号。选择合适的NMEA 2000航空插头插座对于确保船舶电子系统的稳定性和可靠性至关重要。本文将详细探讨如何选择合适的NMEA 2000航空插头插座&#xf…

NodeJS系列面试题

大家好&#xff0c;我是有用就扩散&#xff0c;有用就点赞。 有没有写过Koa中间件&#xff0c;说一下中间件原理&#xff0c;介绍下自己写过的中间件 koa本来就是一个轻量级框架&#xff0c;本身支持的功能并不多&#xff0c;功能都是通过中间件来实现不同的需求。开发者可以通…

Harmony学习(二)------ArkUI

ArkUI(方舟开发框架)是一套构建鸿蒙应用界面的框架&#xff0c;构建页面的最小单位就是组件&#xff0c;布局思路&#xff1a;先排版&#xff0c;再放内容&#xff0c;再美化。 官网图标库&#xff1a;HarmonyOS 主题图标库 | icon素材免费下载 | 华为开发者联盟 组件分类&am…

解决方案架构师系列 - AWS - Pinpoint

AWS Pinpoint介绍 Amazon Pinpoint 为营销人员和开发人员提供了一款可自定义的工具&#xff0c;助力他们大规模地开展跨渠道、行业和活动的客户通信。 Amazon Pinpoint是一个全面的客户参与平台&#xff0c;‌旨在帮助营销人员和开发人员大规模地开展跨渠道、‌行业和活动的客…