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

    结果:

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

  • 相关阅读:
    rails中输出excel
    Rails IDE 有很多选择,但是具体到ubuntu 64bit 选择的余地就不多了,这里选择Aptana Studio 3 Beta
    linux中查看系统资源占用情况的命令
    GIT GUI使用
    linux下的c 环境配置vim
    oracle11 忘记密码
    Aptana_Studio 介绍和应用
    linux root命令忘记以及挂载U盘
    程序员创业生死一线 最后归宿在哪里?
    如何使用Log4j? .
  • 原文地址:https://www.cnblogs.com/pilihaotian/p/8823183.html
Copyright © 2020-2023  润新知