zoukankan      html  css  js  c++  java
  • 聚合查询

    聚合查询

    • sum

      # 聚合查询
      GET /lib3/user/_search
      {
       "size": 0, #
       "aggs": {
         "price_of_sum": { # 取名
           "sum": {
             "field": "price"
          }
        }
      }
      }
    • min

      GET /lib3/user/_search
      {
       "size": 0,
       "aggs": {
         "price_of_min": {
           "min": {
             "field": "price"
          }
        }
      }
      }
    • max

      GET /lib3/user/_search
      {
       "size": 0,
       "aggs": {
         "price_of_max": {
           "max": {
             "field": "price"
          }
        }
      }
      }
    • avg

      GET /lib3/user/_search
      {
       "size": 0,
       "aggs": {
         "price_of_avg": {
           "avg": {
             "field": "price"
          }
        }
      }
      }
    • cardinality:求基数(去重后统计总数)

      GET /lib3/user/_search
      {
       "size": 0,
       "aggs": {
         "price_of_cardinality": {
           "cardinality": {
             "field": "price"
          }
        }
      }
      }
      # 执行结果
      {
       "took": 18,
       "timed_out": false,
       "_shards": {
         "total": 5,
         "successful": 5,
         "failed": 0
      },
       "hits": {
         "total": 5,
         "max_score": 0,
         "hits": []
      },
       "aggregations": {
         "price_of_cardinality": {
           "value": 4
        }
      }
      }
    • terms:分组

      GET /lib3/user/_search
      {
       "size": 0,
       "aggs": {
         "price_of_group": {
           "terms": {
             "field": "price"
          }
        }
      }
      }
      # 执行结果
      {
       "took": 3,
       "timed_out": false,
       "_shards": {
         "total": 5,
         "successful": 5,
         "failed": 0
      },
       "hits": {
         "total": 5,
         "max_score": 0,
         "hits": []
      },
       "aggregations": {
         "price_of_group": {
           "doc_count_error_upper_bound": 0,
           "sum_other_doc_count": 0,
           "buckets": [
            {
               "key": 25,
               "doc_count": 1
            },
            {
               "key": 30,
               "doc_count": 1
            },
            {
               "key": 40,
               "doc_count": 1
            },
            {
               "key": 50,
               "doc_count": 1
            }
          ]
        }
      }
      }
    • 综合题: 对哪些有唱歌兴趣的用户按年龄分组

      GET /lib2/user/_search
      {
         "query":{
             "match":{
                 "interests":"锻炼"
            }
        },
         "aggs":{
             "age_of_group":{
                 "terms":{
                     "field":"age"
                }
            }
        }
      }
    • 对哪些有唱歌兴趣的用户按年龄分组,然后求年龄平均值

      {
       "query":{
           "match":{
               "interests":"锻炼"
          }
      },
       "aggs":{
           "age_of_group":{
               "terms":{
                   "field":"age"
              },
               "aggs": {
                 "age_of_avg": {
                   "avg": {
                     "field": "age"
                  }
                }
              }
          }
      }
      }
      # 执行结果
      {
       "took": 12,
       "timed_out": false,
       "_shards": {
         "total": 5,
         "successful": 5,
         "failed": 0
      },
       "hits": {
         "total": 3,
         "max_score": 0.7549128,
         "hits": [
          {
             "_index": "lib2",
             "_type": "user",
             "_id": "2",
             "_score": 0.7549128,
             "_source": {
               "name": "赵明",
               "adress": "北京海淀区清河",
               "age": 20,
               "birthday": "1998-10-12",
               "interests": "喜欢喝酒,锻炼,唱歌"
            }
          },
          {
             "_index": "lib2",
             "_type": "user",
             "_id": "3",
             "_score": 0.2876821,
             "_source": {
               "name": "lisi",
               "adress": "北京海淀区清河",
               "age": 23,
               "birthday": "1998-10-12",
               "interests": "喜欢喝酒,锻炼,唱歌"
            }
          },
          {
             "_index": "lib2",
             "_type": "user",
             "_id": "1",
             "_score": 0.2824934,
             "_source": {
               "name": "赵六",
               "adress": "黑龙江铁岭",
               "age": 50,
               "birthday": "1970-10-12",
               "interests": "喜欢喝酒,锻炼,说相声"
            }
          }
        ]
      },
       "aggregations": {
         "age_of_group": {
           "doc_count_error_upper_bound": 0,
           "sum_other_doc_count": 0,
           "buckets": [
            {
               "key": 20,
               "doc_count": 1,
               "age_of_avg": {
                 "value": 20
              }
            },
            {
               "key": 23,
               "doc_count": 1,          "age_of_avg": {            "value": 23         }       },       {          "key": 50,          "doc_count": 1,          "age_of_avg": {            "value": 50         }       }     ]   } }}
    • 对哪些有唱歌兴趣的用户按年龄分组,再对年龄求平均值,并按平均年龄降序

      GET /lib2/user/_search
      {
       "size": 0,
       "query": {
         "match": {
           "interests": "锻炼"
        }
      }
      , "aggs": {
         "age_of_group": {
           "terms": {
             "field": "age",
             "order": {
               "age_of_avg": "desc"
            }
          },
           "aggs": {
             "age_of_avg": {
               "avg": {
                 "field": "age"
              }
            }
          }
        }
      }
      }
      # 查询结果
      {
       "took": 5,
       "timed_out": false,
       "_shards": {
         "total": 5,
         "successful": 5,
         "failed": 0
      },
       "hits": {
         "total": 3,
         "max_score": 0,
         "hits": []
      },
       "aggregations": {
         "age_of_group": {
           "doc_count_error_upper_bound": 0,
           "sum_other_doc_count": 0,
           "buckets": [
            {
               "key": 50,
               "doc_count": 1,
               "age_of_avg": {
                 "value": 50
              }
            },
            {
               "key": 23,
               "doc_count": 1,
               "age_of_avg": {
                 "value": 23
              }
            },
            {
               "key": 20,
               "doc_count": 1,
               "age_of_avg": {
                 "value": 20
              }
            }
          ]
        }
      }
      }
  • 相关阅读:
    #从零开始学Swift2.0# No.4 枚举, 元组, 数组和字典
    #从零开始学Swift2.0# No.3 基本数据类型
    #从零开始学Swift2.0# No.2 运算符和表达式
    #从零开始学Swift2.0# No.1 初识Swift
    MacOS下SVN的使用
    在Xcode中制作.a文件
    在Xcode中制作Framework
    Objective-C中的Runtime
    汉语字典或者词典的简单的ios小demo
    ios开发-UI进阶-核心动画-时钟动画小案例
  • 原文地址:https://www.cnblogs.com/zxbdboke/p/10465787.html
Copyright © 2011-2022 走看看