当前位置:   article > 正文

ElasticSearch嵌套查询_elasticsearch中搜索嵌套字段匹配的相关记录

elasticsearch中搜索嵌套字段匹配的相关记录

1:查出所有年龄分布,并且这些年龄段中男性的平均薪资和 女性的平均薪资以及这个年龄段的总体平均薪资
(1)按年龄进行分组 --> 每个年龄段再按性别M,F分组 --> 再求出每个性别的薪资平均值
(2)求出每个年龄的评价薪资

GET bank/_search
{
#匹配所有
  "query": {
    "match_all": {}
  },
  #聚合函数
  "aggs": {
    #方法名:年龄分组
    "ageAgg": {
      #分组函数
      "terms": {
        按年龄进行分组
        "field": "age",
        #展示前100条记录
        "size": 100
      },
      
      #在上一步terms聚合结果基础上再进行terms分组操作
      "aggs": {
        #方法名:性别分组(性别分为MF"genderAgg": {
          #根据性别分组,因为这里是gender是text(是文字不是数字)类型的字段,无法进行精确计算
          #文本类型的字段进行精确计算需要使用 “字段.keyword” 的方式
          "terms": {
            "field": "gender.keyword",
            "size": 10
          },
          #在上一步terms聚合结果基础上进行avg求平均值操作
          "aggs": {
            #方法名:求薪资平均值
            "banlanceAgg": {
              #平均值函数
              "avg": {
                "field": "balance"
              }
            }
          }
        },
        
        #在年龄分组下求平均薪资
        "ageBanlanceAgg": {
          "avg": {
            "field": "balance"
          }
        }
      }
      
    }
  }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51

2:按照年龄聚合,并且请求这些年龄段的这些人的平均薪资

GET bank/_search
{
  "query": {
    "match_all": {}
  },
  "aggs": {
    "ageAvg": {
      "terms": {
        "field": "age",
        "size": 100
      },
      "aggs": {
        "balanceAvg": {
          "avg": {
            "field": "balance"
          }
        }
      }
    }
  }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/463453
推荐阅读
相关标签
  

闽ICP备14008679号