Elasticsearch 顶尖高手(6)--快速入门案例实战:group by + avg + sort等聚合分析(三)

1.计算每个tag下的商品数量

GET /ecommerce/product/_search

{

“aggs”:{

“group_by_tags”:{

“terms”:{“field”:”tags”}

}

}

}

将文本field的fielddate属性设置为true

PUT /ecommerce/_mapping/product

{

“properties”:{

“tags”:{

“type”:”text”,

“fielddata”:true

}

}

}

重新执行分组命令

“size”:0

可以不显示聚合分析数据的信息,只返回聚合分析之后的结果

2.对名称中包含yagao 的商品,计算每个tag下的商品数量

GET /ecommerce/product/_search

{
   "size": 0,
   "query": {
     "match": {
       "name": "yagao"
     }
   },
   "aggs": {
     "group_by_tags": {
       "terms": {
         "field": "tags"
       }
     }
   }

}

结果一样,因为每个商品name中都包含有yagao

3.先分组,再算每组的平均值,计算每个tag下的商品的平均价格

GET /ecommerce/product/_search

{

“size”:0,

“aggs”:{

“group_by_tags”:{

“terms”:{“fiedd”:”tags”},

“aggs”:{

“avg_price”:{

“avg”:{“field”:”price”}

}

}

}

}

}

4.在3的基础上,按照平均价格进行排序

GET /ecommerce/product/_search

{

“size”:0,

“aggs”:{

“group_by_tags”:{

“terms”:{“fiedd”:”tags”,“order”:{“avg_price”:”desc”}},

“aggs”:{

“avg_price”:{

“avg”:{“field”:”price”}

}

}

}

}

}

5.按照指定的价格范围区间进行分组,然后在每组内按照tag进行分组,最后再计算每组的平均价格

GET /ecommerce/product/_search

{
   "size": 0,
   "aggs": {
   "group_by_price": {
       "range": {
         "field": "price",
         "ranges": [
           {
             "from": 0,
             "to": 20
           },
           {
             "from": 20,
             "to": 40
           },
           {
             "from": 40,
             "to": 50
           }
         ]
       },
       "aggs": {
         "group_by_tag": {
           "terms": {
             "field": "tags",
             "order": {
               "avg_by_price": "desc"
             }
           },
           "aggs": {
             "avg_by_price": {
               "avg": {
                 "field": "price"
               }
             }
           }
         }
       }
     }
   }

}

原文地址:https://www.cnblogs.com/Mr-WangYue/p/11518866.html

时间: 2024-10-02 06:03:31

Elasticsearch 顶尖高手(6)--快速入门案例实战:group by + avg + sort等聚合分析(三)的相关文章

Elasticsearch 顶尖高手(5)--快速入门案例实战:多种搜索方式(二)

1.query string search GET /ecommerce/product/_search took:耗费了几毫秒 timeout:是否超时 _shards:数据拆成了5个分片,所以对于搜索请求,会打到所有的primary shard(或者是它的某个relica shard也可以) hist.total:查询结果的数量,4个total max_score:score的含义,就是document对于一个search的相关度的匹配分数,越相关,就越匹配,分数也越高 hits.hits:

Elasticsearch顶尖高手系列-快速入门篇

01.课程介绍02.用大白话告诉你什么是Elasticsearch03.Elasticsearch的功能.适用场景以及特点介绍04.手工画图剖析Elasticsearch核心概念:NRT.索引.分片.副本等05.在windows上安装和启动Elasticseach06.快速入门案例实战之电商网站商品管理:集群健康检查,文档CRUD07.快速入门案例实战之电商网站商品管理:多种搜索方式08.快速入门案例实战之电商网站商品管理:嵌套聚合,下钻分析,聚合分析09.手工画图剖析Elasticsearch

Elasticsearch快速入门案例

写在前面的话:读书破万卷,编码如有神-------------------------------------------------------------------- 参考内容: <Elasticsearch顶尖高手系列-快速入门篇>,中华石杉 -------------------------------------------------------------------- 主要内容包括: es的document数据格式和数据库的关系型数据格式的区别 简单的集群管理 电商网站商品管

Elasticsearch顶尖高手系列-高手进阶篇视频教程

14套java精品高级架构课,缓存架构,深入Jvm虚拟机,全文检索Elasticsearch,Dubbo分布式Restful 服务,并发原理编程,SpringBoot,SpringCloud,RocketMQ中间件,Mysql分布式集群,服务架构,运 维架构视频教程 14套精品课程介绍: 1.14套精 品是最新整理的课程,都是当下最火的技术,最火的课程,也是全网课程的精品: 2.14套资 源包含:全套完整高清视频.完整源码.配套文档: 3.知识也 是需要投资的,有投入才会有产出(保证投入产出比是

CMake快速入门教程-实战

http://www.ibm.com/developerworks/cn/linux/l-cn-cmake/ http://blog.csdn.net/dbzhang800/article/details/6314073 http://www.cnblogs.com/coderfenghc/archive/2013/01/20/2846621.html http://blog.sina.com.cn/s/blog_4aa4593d0100q3bt.html http://hahack.com/c

TensorFlow快速入门与实战

课程目录:01.课程内容综述02.第一章内容概述03.TensorFlow产生的历史必然性04.TensorFlow与JeffDean的那些事05.TensorFlow的应用场景06.TensorFlow的落地应用07.TensorFlow的发展现状08.第二章内容概述09.搭建你的TensorFlow开发环境10.HelloTensorFlow11.在交互环境中使用TensorFlow12.在容器中使用TensorFlow13.第三章内容概述14.TensorFlow模块与架构介绍15.Ten

Elasticsearch学习之快速入门案例

1. document数据格式 面向文档的搜索分析引擎 (1)应用系统的数据结构都是面向对象的,复杂的(2)对象数据存储到数据库中,只能拆解开来,变为扁平的多张表,每次查询的时候还得还原回对象格式,相当麻烦(3)ES是面向文档的,文档中存储的数据结构,与面向对象的数据结构是一样的,基于这种文档数据结构,es可以提供复杂的索引,全文检索,分析聚合等功能(4)es的document用json数据格式来表达 1 public class Employee { 2 3 private String em

Elasticsearch顶尖高手系列-高手进阶篇(最新第二版)

第1节结构化搜索_IT技术论坛案例背景介绍第2节结构化搜索_在案例中实战使用termfilter来搜索数据第3节结构化搜索_filter执行原理深度剖析(bitset机制与caching机制)第4节结构化搜索_在案例中实战基于bool组合多个filter条件来搜索数据第5节结构化搜索_在案例中实战使用terms搜索多个值以及多值搜索结果优化第6节结构化搜索_在案例中实战基于rangefilter来进行范围过滤第7节深度探秘搜索技术_在案例中体验如何手动控制全文检索结果的精准度第8节深度探秘搜索技

转:CMake快速入门教程-实战

CMake快速入门教程:实战 收藏人:londonKu     2012-05-07 | 阅:10128  转:34    |   来源   |  分享      0. 前言一个多月前,由于工程项目的需要,匆匆的学习了一下cmake的使用方法,现在有时间拿出来整理一下.本文假设你已经学会了cmake的使用方法,如果你还不会使用cmake,请参考相关资料之后再继续向下看.本文中介绍的是生成可执行程序的方法和步骤,生成动态库和静态库的方法与此有所不同,随后会介绍动态库和静态库项目中cmake的编写方