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

Elasticsearch一些函数查询

1. 根据价格分组统计数量,每组区间为2000,

filter_path=aggregations 设置查询结果只展示函数结果

也有date_histogram函数根据日期分组等等

GET order/_search?filter_path=aggregations
{
  "aggs": {
    "hist_price": {
      "histogram": {
        "field": "price",
        "interval": 2000,
        # "min_doc_count": 1  # 设置只有数量大于1的才会展示
      }
    }
  }
}
查询结果:
{
  "aggregations" : {
    "hist_price" : {
      "buckets" : [
        {
          "key" : 0.0,
          "doc_count" : 1
        },
        {
          "key" : 2000.0,
          "doc_count" : 4
        },
        {
          "key" : 4000.0,
          "doc_count" : 0
        },
        {
          "key" : 6000.0,
          "doc_count" : 1
        }
      ]
    }
  }
}

 2. 查询20%之内,50%之内,100%之内的价格都在多少钱之下

查询结果为近似值跟ES的算法有关

GET order/_search?filter_path=aggregations
{
  "aggs": {
    "percent_price": {
      "percentiles": {
        "field": "price",
        "percents": [
          20,
          50,
          100
        ]
      }
    }
  }
}
查询结果:
{
  "aggregations" : {
    "percent_price" : {
      "values" : {
        "20.0" : 1700.0000000000002,
        "50.0" : 2500.0,
        "100.0" : 6000.0
      }
    }
  }
}

3. 查询2的相反情况,例:查询2000,和 6000之内的占比

GET order/_search?filter_path=aggregations
{
  "aggs": {
    "percent_price": {
      "percentile_ranks": {
        "field": "price",
        "values": [
          2000,
          6000
        ]
      }
    }
  }
}
查询结果:
{
  "aggregations" : {
    "percent_price" : {
      "values" : {
        "2000.0" : 16.666666666666664,
        "6000.0" : 82.73866923818709
      }
    }
  }
}


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

相关文章:

  • 在 Oracle Linux 8.9 上安装Oracle Database 23ai 23.5
  • 解决failed to execute PosixPath(‘dot‘) 或者GraphViz‘s executables not found
  • 使用 VS Code 远程连接时解决 OpenSSL 版本不匹配及权限问题
  • 大模型在蓝鲸运维体系应用——蓝鲸运维开发智能助手
  • nVisual自定义工单内容
  • 提升前端性能:如何优化多个异步请求的执行效率Promise.all()
  • 【头歌系统数据库实验】实验4 MySQL单表查询
  • HarmonyOS学习--TypeScript语言学习(三)
  • 图片点击放大
  • go基础语法10问(2)
  • WPF Live Charts2 自学笔记
  • 20、pytest中的参数化
  • 213. 打家劫舍 II --力扣 --JAVA
  • 华为云obs在java中的使用
  • 应用层自定义协议
  • Jmeter测试移动接口性能 —— 压测
  • MySQL性能调优-2-实际优化案例
  • Redis高效缓存:加速应用性能的利器
  • 反序列化漏洞详解(二)
  • 【MySQL环境配置在虚拟机中】
  • 力扣面试经典150题——Unix简化路径
  • SQL通配符字符
  • 有什么样的管理模式可以改善团队关系
  • [Realtek sdk-3.4.14b] RTL8197FH-VG+RTL8812FR WiFi黑名单及剔除已连接终端功能实现
  • 02、pytest环境准备
  • MUC\GD32低功耗模式简介