本文介绍: filter_path=aggregations 设置查询结果展示函数结果。2. 查询20%之内,50%之内,100%之内的价格都在多少钱之下。也有date_histogram函数根据日期分组等等。根据价格分组计数量,每组区间为2000,

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
      }
    }
  }
}

原文地址:https://blog.csdn.net/session_Time/article/details/134762204

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_49565.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注