ES:聚合查询语法

基础查询结构:

GET http://ip:prot/textbook/_search      

{          "query" : { ...query子句... },

           "aggs" : {

                "agg_name":{

                        "agg_type": {

                                "agg_arg": agg_arg_value

                            }

                     }

                },

           "sort" : { ..sort子句.. }

           "from" : 0, // 返回搜索结果的开始位置

           "size" : 10, // 分页大小,一次返回多少数据

           "_source" :[ ...需要返回的字段数组... ],

   }

这个聚合查询就是写aggs里面的语句。其中,agg_name是聚合操作的名称,agg_type是聚合操作的类型,agg_arg是聚合操作的参数,agg_arg_value是参数值。

  1. Metric(指标)
    Metric聚合用于对数值字段进行统计计算,例如求平均值、最大值、最小值、求和、统计样本方差等。它能够提供各种度量指标,以便对数据进行汇总和分析。在聚合查询中,可以通过指定一个或多个Metric聚合来对数值字段进行计算,并将结果返回给用户。
  2. Bucketing(桶)
    Bucket聚合用于将文档分配到不同的桶中,基于指定的条件。桶聚合能够将数据划分为不同的分组,以便进行进一步的分析和可视化。常见的桶聚合包括terms、histogram、date_histogram等。通过Bucket聚合,可以对数据进行分组、过滤和排序,以便更好地了解数据的分布和模式。类似于mysql中的grouo by语法。
  3. Matrix(矩阵)
    Matrix聚合提供了一种在给定文档集合上执行复杂分析的方法。它可以用于计算字段之间的统计量,例如两个字段之间的相关性或协方差。Matrix聚合返回一个矩阵,其中包含了指定字段之间的各种统计信息。通过Matrix聚合,可以对数据进行更深入的分析和探索。
  4. Pipeline(管道)
    Pipeline聚合能够对其他聚合的结果进行二次聚合。它们可以用于对已经计算出的聚合结果进行进一步的处理和计算。例如,可以将Bucket聚合的结果传递给Metric聚合,以便对桶中的数据进行度量计算。Pipeline聚合提供了更高级的聚合操作,以便更好地处理和分析数据。类似于mysql中的having语法。

1、Metric(指标)

这个查询将返回"amount"字段的平均值。在聚合查询中,"size"参数设置为0,表示不需要返回文档本身,只需要聚合结果。下面的这个只是一个简单的查询,是单值分析。

Get /my_index/_search
{
  "size": 0,
  "aggs": {
//求amount字段的平均值
    "amount_avg": {
      "avg": {
        "field": "amount"
      },
//求amount字段的最小值
    "min_sales": {
      "min": {
        "field": "amount"
      }
    },
//求amount字段的最大值
    "my_max":{
       "max": {
         "field":"amount"        
        }
    }
  }
}
1.1  stats(会返回多个聚合结果)
  • 使用_stats查询来获取有关字段的统计信息,例如平均值、最小值、最大值等。
Get /my_index/_search
{
  "size": 0,
  "aggs": {
//求amount字段的各个指标
    "my_stats": {
      "stats": {
        "field": "amount"
      }
  }
}

1.2 Extended_stats(扩展统计信息)
  • 使用_extended_stats查询来获取有关字段的扩展统计信息,例如方差、偏度和峰度。
    GET /your_index/_search
    {
      "size": 0,
      "aggs": {
        "my_extended_stats": {
          "extended_stats": {
            "field": "amount"
          }
        }
      }
    }

1.3 唯一值(Cardinality) 
  • 查这字段有哪些值,返回这个数量。相当于mysql中的distinct
GET /your_index/_search
{
  "size": 0,
  "aggs": {
    "my_cardinality": {
      "cardinality": {
        "field": "amount"
      }
    }
  }
}

1.4 Percentile_rank(百分位数排名)
  • Percentiles聚合可以了解数据的分布情况,从小到大排序,可以显示自己想知道的第百分之几的值。可以更好的了解数据的离散程度和异常值。
GET /your_index/_search
{
  "size": 0,
  "aggs": {
    "my_percentiles": {
      "percentiles": {
        "field": "amount",
        "percents": [
         20,
         50,
         75,
         99
       ]
      }
    }
  }
}

1.5 top_hits(top匹配值)
  • 用于获取匹配度最高的几个文档。此时主要看的是score字段的值
GET /your_index/_search
{
  "size": 0,
  "aggs": {
     "My_top": {
      "top_hits": {
          "_source": ["aaaa"],
          "size": 2
      }
    }
  }
}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

快速学习Python:新手入门指南

一、确定学习目标 首先,你需要明确自己学习Python的目标。是希望成为一名Python开发人员,还是仅仅想在数据分析、数据可视化等领域使用Python。不同的目标需要不同的学习路径和资源。 二、选择合适的教材和课程 Python的学习资源非常丰富,…

vscode 使用正则搜索

ctrl c 复制,内容如下: Vue3简介创建Vue3工程Vue3核心语法路由pinia组件通信其它 APIVue3新组件

HDLbits 刷题 -- Exams/m2014 q3

Consider the function f shown in the Karnaugh map below. Implement this function. d is dont-care, which means you may choose to output whatever value is convenient. 译:考虑下面卡诺图中显示的函数f。 实现这个函数。D是dont-care,这意味着…

别再观望!2024年必做的项目:视频号无货源

大家好,我是电商花花。 现在做项目,更喜欢的是一个能稳定出单,稳定发展的一个创业项目,一个好的项目就是能长期稳定的发展,如果只追求短平快收益的项目,这样的项目也并不适合我们。 对于越来越火爆的视频…

MoviePy(Python音视频开发)

音视频基础帧率、码率、分辨率视频格式H.264和H.265视频压缩算法 Moviepy常见剪辑类VideoFlieClipImageFlieClipColorClipTextClipCompositeVideoClipAudioFlieClipCompositeAudioClip 常见操作音视频的读入与导出截取音视频 音视频基础 帧率、码率、分辨率 体积(V…

TL-WN826N无线网卡连接电脑蓝屏,提示rtl8188gu.sys

TL-WN826N无线网卡插电脑就蓝屏,提示rtl8188gu.sys 处理方法: 设备管理器中卸载其他的2.0无线网卡程序和功能中卸载网卡驱动TPlink官网下载 TL-WN826N V1.0_1.0.0(https://www.tp-link.com.cn/product_572.html?vdownload)&…

Redis简介和数据结构

目录 简介 进入之后身份认证才能使用 优点 用途: 数据结构 string string自动扩容 Redis中的简单动态字符串(SDS)具有以下优点: SDS数据的编码格式 比较: string 常用操作 分布式锁 使用情况,…

每日Attention学习2——Multi-Scale Convolutional Attention

模块出处 [link] [code] [NIPS 22] SegNeXt: Rethinking Convolutional Attention Design for Semantic Segmentation 模块名称 Multi-Scale Convolutional Attention (MSCA) 模块作用 多尺度特征提取,更大感受野 模块结构 模块代码 import torch import torch.…

【启明智显技术分享】“ESP-IDF环境搭建全攻略:告别基于乐鑫方案彩屏开发中的搭建难题”

前言: 【启明智显】专注于HMI(人机交互)及AIoT(人工智能物联网)产品和解决方案的提供商,我们深知彩屏显示方案在现代物联网应用中的重要性。为此,我们一直致力于为客户提供彩屏显示方案相关的技…

深度解析:数据结构二叉树(1)

✅作者简介:大家好,我是再无B~U~G,一个想要与大家共同进步的男人😉😉 🍎个人主页: 再无B~U~G-CSDN博客 目标 1. 掌握树的基本概念 2. 掌握二叉…

分享10个高质量宝藏网站~

分享一波高质量宝藏网站~ 这10个宝藏网站,个个都好用到爆,娱乐、办公、学习都能在这里找到! 1、Z-Library https://zh.zlibrary-be.se/ 世界最大的免费电子书下载网站!电子书资源超千万,不过这个网站不太稳定&#…

网络原理

UDP 特点:无连接 不可靠传输 面向数据报 全双工 报文格式: UDP数据报UDP报头UDP载荷(应用层数据报) | 源端口 目的端口 报文长度 校验和 TCP 特点:有连接 可靠传输 面向字节流 全双工 作为传输层…

C++实验五 : 类的继承 -----CUST

【题目】 1.定义person类,包括数据私有成员:姓名,性别;共用成员函数:带参数构造函数,display函数输出本类对象的所有数据成员值。 2.定义student类,保护继承person类;增加保护数据成…

怎么找投资白银的贵金属交易平台?

在当今的投资市场中,白银作为一种贵金属,一直受到投资者的广泛关注。但是,如何选择一家可靠的贵金属交易平台进行投资呢?这是许多投资者面临的难题。本文将从多个角度为投资者详细解析如何找到一家值得信赖的贵金属交易平台。 我们…

多模态大模型通过外接数据方案实现电力智能巡检(设计方案)

大模型相关目录 大模型,包括部署微调prompt/Agent应用开发、知识库增强、数据库增强、知识图谱增强、自然语言处理、多模态等大模型应用开发内容 从0起步,扬帆起航。 大模型应用向开发路径:AI代理工作流大模型应用开发实用开源项目汇总大模…

TSINGSEE青犀视频边缘计算AI智能分析网关V4告警消息语音推送的配置流程

TSINGSEE青犀视频边缘计算硬件智能分析网关V4内置了近40种AI算法模型,支持对接入的视频图像进行人、车、物、行为等实时检测分析,上报识别结果,并能进行语音告警播放。今天我们来分享一下如何配置和使用AI智能分析网关V4的语音推送。 提前准备…

webrtc初步了解

WebRTC搭建点对点实时音视频对话,起始需要保证完成两点: 1.媒体协商,了解彼此支持的媒体格式。参与视频通讯的双方必须先交换SDP信息,交换SDP的过程。 2.网络协商,了解彼此的网络环境,找到一条相互通讯的链…

【SpringBoot整合系列】SpringBoot整合RabbitMQ-消息可靠性

目录 确保消息的可靠性RabbitMQ 消息发送可靠性分析解决方案开启事务机制发送方确认机制单条消息处理消息批量处理 失败重试自带重试机制业务重试 RabbitMQ 消息消费可靠性如何保证消息在队列RabbitMQ 的消息消费,整体上来说有两种不同的思路:确保消费成…

基于Java+SpringBoot+Vue+echarts健身房管理系统设计和实现

基于JavaSpringBootVueecharts健身房管理系统设计和实现 🍅 作者主页 网顺技术团队 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 🍅 文末获取源码联系方式 📝 🍅 查看下方微信号获取联系方式 承接各种定制系…

Axure PR 10 下拉三级菜单设计图

在线预览地址:Untitled Document 程序员必备资源网站:天梦星服务平台 (tmxkj.top) 需要源码设计图联系我wx:19948765606,3块钱拿走