美文网首页
ElasticSearch | Pipeline 聚合分析

ElasticSearch | Pipeline 聚合分析

作者: 乌鲁木齐001号程序员 | 来源:发表于2020-05-28 03:18 被阅读0次

Pipeline

  • 支持对聚合分析的结果,再次进行聚合分析;
  • Pipeline 的分析结果会输出到原结果中,根据位置的不同,分为两类:
    • Sibling - 结果和现有分析结果同级
      • max / min / avg & sum bucket
      • stats / extended status bucket
      • percentiles bucket
    • Parent - 结果内嵌到现有的聚合分析结果之中
      • Derivate - 求导
      • Cumultive Sum - 累计求和
      • Moving Function - 滑动窗口

Pipeline 聚合分析 | 举几个栗子

平均工资最低的工作类型 | Sibling Pipeline
POST employees/_search
{
  "size": 0,
  "aggs": {
    "jobs": {
      "terms": {
        "field": "job.keyword",
        "size": 10
      },
      "aggs": {
        "avg_salary": {
          "avg": {
            "field": "salary"
          }
        }
      }
    },
    "min_salary_by_job":{
      "min_bucket": {
        "buckets_path": "jobs>avg_salary"
      }
    }
  }
}
平均工资最高的工作类型 | Sibling Pipeline
POST employees/_search
{
  "size": 0,
  "aggs": {
    "jobs": {
      "terms": {
        "field": "job.keyword",
        "size": 10
      },
      "aggs": {
        "avg_salary": {
          "avg": {
            "field": "salary"
          }
        }
      }
    },
    "max_salary_by_job":{
      "max_bucket": {
        "buckets_path": "jobs>avg_salary"
      }
    }
  }
}
平均工资的平均工资 | Sibling Pipeline
POST employees/_search
{
  "size": 0,
  "aggs": {
    "jobs": {
      "terms": {
        "field": "job.keyword",
        "size": 10
      },
      "aggs": {
        "avg_salary": {
          "avg": {
            "field": "salary"
          }
        }
      }
    },
    "avg_salary_by_job":{
      "avg_bucket": {
        "buckets_path": "jobs>avg_salary"
      }
    }
  }
}
平均工资的统计分析 | Sibling Pipeline
POST employees/_search
{
  "size": 0,
  "aggs": {
    "jobs": {
      "terms": {
        "field": "job.keyword",
        "size": 10
      },
      "aggs": {
        "avg_salary": {
          "avg": {
            "field": "salary"
          }
        }
      }
    },
    "stats_salary_by_job":{
      "stats_bucket": {
        "buckets_path": "jobs>avg_salary"
      }
    }
  }
}
平均工资的百分位数 | Sibling Pipeline
POST employees/_search
{
  "size": 0,
  "aggs": {
    "jobs": {
      "terms": {
        "field": "job.keyword",
        "size": 10
      },
      "aggs": {
        "avg_salary": {
          "avg": {
            "field": "salary"
          }
        }
      }
    },
    "percentiles_salary_by_job":{
      "percentiles_bucket": {
        "buckets_path": "jobs>avg_salary"
      }
    }
  }
}
按照年龄对平均工资求导 | Parent Pipeline
POST employees/_search
{
  "size": 0,
  "aggs": {
    "age": {
      "histogram": {
        "field": "age",
        "min_doc_count": 1,
        "interval": 1
      },
      "aggs": {
        "avg_salary": {
          "avg": {
            "field": "salary"
          }
        },
        "derivative_avg_salary":{
          "derivative": {
            "buckets_path": "avg_salary"
          }
        }
      }
    }
  }
}
对平均工资做累计求和 | cumulative_sum | Parent Pipeline
POST employees/_search
{
  "size": 0,
  "aggs": {
    "age": {
      "histogram": {
        "field": "age",
        "min_doc_count": 1,
        "interval": 1
      },
      "aggs": {
        "avg_salary": {
          "avg": {
            "field": "salary"
          }
        },
        "cumulative_salary":{
          "cumulative_sum": {
            "buckets_path": "avg_salary"
          }
        }
      }
    }
  }
}

相关文章

网友评论

      本文标题:ElasticSearch | Pipeline 聚合分析

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