zoukankan      html  css  js  c++  java
  • ElasticSearch聚合aggs入门

    Elasticsearch是一款功能强大的开源软件,不仅可以检索排序,还可以对文档进行更复杂的操作--聚合。

    1、单值聚合

      Sum求和,dsl参考如下:

    {
      "size": 0,
      "aggs": {
        "return_balance": {
          "sum": {
            "field": "balance"
          }
        }
      }
    }

    返回balance之和,其中size=0 表示不需要返回参与查询的文档。

    Min求最小值

    {
      "size": 0,
      "aggs": {
        "return_min_balance": {
          "min": {
            "field": "balance"
          }
        }
      }
    }

    返回结果

    Max求最大值

    {
      "size": 0,
      "aggs": {
        "return_max_balance": {
          "max": {
            "field": "balance"
          }
        }
      }
    }

    返回结果:

    AVG求平均值

    {
      "size": 0,
      "aggs": {
        "return_avg_balance": {
          "avg": {
            "field": "balance"
          }
        }
      }
    }

    返回结果:

    Cardinality 求基数(如下示例,查找性别的基数 M、F,共两个)

    {
      "size": 0,
      "aggs": {
        "return_cardinality": {
          "cardinality": {
            "field": "gender"
          }
        }
      }
    }

    结果为:

    2、多值聚合

    percentiles 求百分比

    查看官方文档时候,没看懂,下面是自己测试时的例子,按照性别(F,M)查看工资范围的百分比

    {
      "size": 0,
      "aggs": {
        "states": {
          "terms": {
            "field": "gender"
          },
          "aggs": {
            "banlances": {
              "percentile_ranks": {
                "field": "balance",
                "values": [
                  20000,
                  40000
                ]
              }
            }
          }
        }
      }

    结果:

    stats 统计

    查看balance的统计情况:

    {
      "size": 0,
      "aggs": {
        "balance_stats": {
          "stats": {
            "field": "balance"
          }
        }
      }
    }

    返回结果:

    extended_stats 扩展统计

    {
      "size": 0,
      "aggs": {
        "balance_stats": {
          "extended_stats": {
            "field": "balance"
          }
        }
      }
    }

    结果:

    更加复杂的查询,后续慢慢在实践中道来。

  • 相关阅读:
    hibernate update部分更新
    strtus2.0实现下载
    cookie和session机制之间的区别与联系
    生成随机数字验证码
    ssh生成随机数字验证码
    ASP一句话轻松获取域上的用户名
    SQL server 日志文件清除
    Entity Framework中使用DbMigrator更新数据库至最新结构
    进程间通信
    asp备份SQL数据库
  • 原文地址:https://www.cnblogs.com/pilihaotian/p/8823183.html
Copyright © 2011-2022 走看看