美文网首页
2、elasticsearch聚合条件

2、elasticsearch聚合条件

作者: Jared73 | 来源:发表于2020-03-23 12:58 被阅读0次

    聚合可以获取搜获结果中的元信息

    GET /customer/_search
    {
      "size": 0,
      "aggs": {
        "group_by_status": {
          "terms": {
            "field": "age",
            "size": 10
          }
        }
      }
    }
    

    结果如下

    {
      "took" : 1,
      "timed_out" : false,
      "_shards" : {
        "total" : 1,
        "successful" : 1,
        "skipped" : 0,
        "failed" : 0
      },
      "hits" : {
        "total" : {
          "value" : 2,
          "relation" : "eq"
        },
        "max_score" : null,
        "hits" : [ ]
      },
      "aggregations" : {
        "group_by_status" : {
          "doc_count_error_upper_bound" : 0,
          "sum_other_doc_count" : 0,
          "buckets" : [
            {
              "key" : 16,
              "doc_count" : 1
            },
            {
              "key" : 29,
              "doc_count" : 1
            }
          ]
        }
      }
    }
    

    也可以聚合复杂条件,比如求年龄平均值

    GET /customer/_search
    {
      "size": 0,
      "aggs": {
        "group_by_state": {
          "terms": {
            "field": "name.keyword"
          },
        "aggs":{
          "average_balance":{
            "avg": {
              "field": "age"
            }
          }
        }
        }
      }
    }
    

    请求结果

    {
      "took" : 1,
      "timed_out" : false,
      "_shards" : {
        "total" : 1,
        "successful" : 1,
        "skipped" : 0,
        "failed" : 0
      },
      "hits" : {
        "total" : {
          "value" : 3,
          "relation" : "eq"
        },
        "max_score" : null,
        "hits" : [ ]
      },
      "aggregations" : {
        "group_by_state" : {
          "doc_count_error_upper_bound" : 0,
          "sum_other_doc_count" : 0,
          "buckets" : [
            {
              "key" : "Qing Liu",
              "doc_count" : 2,
              "average_balance" : {
                "value" : 39.5
              }
            },
            {
              "key" : "Jared Zhang",
              "doc_count" : 1,
              "average_balance" : {
                "value" : 16.0
              }
            }
          ]
        }
      }
    }
    

    以下是使用聚合条件排序,而不用聚合结果排序

    GET /customer/_search
    {
      "size": 0,
      "aggs": {
        "group_by_state": {
          "terms": {
            "field": "name.keyword"
            , "order": {
              "average_balance": "asc"
            }
          },
        "aggs":{
          "average_balance":{
            "avg": {
              "field": "age"
            }
          }
        }
        }
      }
    }
    

    相关文章

      网友评论

          本文标题:2、elasticsearch聚合条件

          本文链接:https://www.haomeiwen.com/subject/vhqwyhtx.html