大型资讯门户网站怎么做排名,厦门建公司网站,wordpress笑话主题模板,wordpress建数据库步骤aggregation分类 aggregations —— 聚合#xff0c;提供了一种基于查询条件来对数据进行分桶、计算的方法。有点类似于 SQL 中的 group by 再加一些函数方法的操作。 聚合可以嵌套#xff0c;由此可以组成复杂的操作#xff08;Bucketing聚合可以包含sub-aggregation#…aggregation分类 aggregations —— 聚合提供了一种基于查询条件来对数据进行分桶、计算的方法。有点类似于 SQL 中的 group by 再加一些函数方法的操作。 聚合可以嵌套由此可以组成复杂的操作Bucketing聚合可以包含sub-aggregation。 聚合整体上可以分为 3 类 1. Bucketing桶分聚合 此类聚合执行的是对文档分组的操作把满足相关特性的文档分到一个桶里即桶分。输出结果往往是一个个包含多个文档的桶。此类聚合会有一个关键字field、script以及一些桶分分组的判断条件。执行聚合操作时候文档会判断每一个分组条件如果满足某个该文档就会被分为该组fall in。2. Metric指标聚合 此类聚合是对文档进行一些权值计算比如求所有文档某个字段的max值。输出结果往往是文档的权值相当于为文档添加了一些统计信息。此类聚合基于特定字段field或脚本值generated using scripts计算聚合中文档的权值。3. Pipeline管道聚合 对其它聚合操作的输出及其关联指标进行聚合。此类聚合的作用对象往往是桶而不是文档是一种后期对每个分桶的一些计算操作。应用场景 对于 3 中聚合常见的应用场景如下流程 buckets 聚合对文档进行必要的归类桶分 —— metric 聚合对每个桶进行一些额外的信息计算如max —— pipeline 聚合针对所有桶做一些桶层面的统计或计算 应用示例 {aggs : {sales_per_month : {date_histogram : { // bucket 聚合按照月份进行分桶每个月的归属一个桶field : date,interval : month},aggs: {sales: {sum: { // metric 聚合对每个桶类的 price 求和即每月的销售额field: price}}}},max_monthly_sales: {max_bucket: { // pipeline 聚合求所有桶中销售额 sales 最大的值buckets_path: sales_per_monthsales }}}
} aggregation结构 聚合可以是父子嵌套关系聚合buckets 聚合作为父metric 聚合作为子。 聚合也可以是兄弟关系聚合buckets 聚合在前pipeline 聚合在后。 结构如下 aggregations : { //定义聚合对象,也可用 aggsaggregation_name : { //聚合的名称,用户自定义aggregation_type : { //聚合类型,比如 histogramaggregation_body //每个聚合类型都有其自己的结构定义}[,meta : { [meta_data_body] } ]?[,aggregations : { [sub_aggregation] } ]? //可以定义多个 sub-aggregation}[,aggregation_name_2 : { ... } ]* //定义额外的多个平级 aggregation,只有 Bucketing 类型才有意义
} 转载于:https://www.cnblogs.com/licongyu/p/5499388.html