文章目录

  • 概述
  • 官网
  • 示例


概述

继续跟中华石杉老师学习ES,第55篇

课程地址: https://www.roncoo.com/view/55


官网

Top Hits Aggregation : 戳这里


其他详见官网


示例

需求: 对每个用户发表的博客进行分组

模拟一批数据


PUT /blogs2/blogs2/2
{"title": "2跟石杉老师学ES","content": "2-second blog","userInfo": {"userId": 2,"username": "2小工匠"}
}PUT /blogs2/blogs2/3
{"title": "3跟石杉老师学ES","content": "3-second blog","userInfo": {"userId": 3,"username": "3小工匠"}
}PUT /blogs2/blogs2/4
{"title": "4跟石杉老师学ES","content": "4-second blog","userInfo": {"userId": 4,"username": "4小工匠"}
}PUT /blogs2/blogs2/5
{"title": "5跟石杉老师学ES","content": "5-second blog","userInfo": {"userId": 2,"username": "2小工匠"}
}PUT /blogs2/blogs2/6
{"title": "6跟石杉老师学ES","content": "6-second blog","userInfo": {"userId": 3,"username": "3小工匠"}
}PUT /blogs2/blogs2/7
{"title": "7跟石杉老师学ES","content": "7-second blog","userInfo": {"userId": 4,"username": "4小工匠"}
}

DSL

#对每个用户发表的博客进行分组,取前5篇的标题
GET /blogs2/blogs2/_search
{"size": 0,"aggs": {"group_by_userName": {"terms": {"field": "userInfo.username.keyword"},"aggs": {"top_blog": {"top_hits": {"_source": {"includes": "title"},"size": 5}}}}}
}

返回:

{"took": 9,"timed_out": false,"_shards": {"total": 5,"successful": 5,"skipped": 0,"failed": 0},"hits": {"total": 7,"max_score": 0,"hits": []},"aggregations": {"group_by_userName": {"doc_count_error_upper_bound": 0,"sum_other_doc_count": 0,"buckets": [{"key": "2小工匠","doc_count": 2,"first_blog": {"hits": {"total": 2,"max_score": 1,"hits": [{"_index": "blogs2","_type": "blogs2","_id": "5","_score": 1,"_source": {"title": "5跟石杉老师学ES"}},{"_index": "blogs2","_type": "blogs2","_id": "2","_score": 1,"_source": {"title": "2跟石杉老师学ES"}}]}}},{"key": "3小工匠","doc_count": 2,"first_blog": {"hits": {"total": 2,"max_score": 1,"hits": [{"_index": "blogs2","_type": "blogs2","_id": "6","_score": 1,"_source": {"title": "6跟石杉老师学ES"}},{"_index": "blogs2","_type": "blogs2","_id": "3","_score": 1,"_source": {"title": "3跟石杉老师学ES"}}]}}},{"key": "4小工匠","doc_count": 2,"first_blog": {"hits": {"total": 2,"max_score": 1,"hits": [{"_index": "blogs2","_type": "blogs2","_id": "4","_score": 1,"_source": {"title": "4跟石杉老师学ES"}},{"_index": "blogs2","_type": "blogs2","_id": "7","_score": 1,"_source": {"title": "7跟石杉老师学ES"}}]}}},{"key": "小工匠","doc_count": 1,"first_blog": {"hits": {"total": 1,"max_score": 1,"hits": [{"_index": "blogs2","_type": "blogs2","_id": "1","_score": 1,"_source": {"title": "跟石杉老师学ES"}}]}}}]}}
}

白话Elasticsearch55-数据建模之对每个用户发表的博客进行分组 (Top Hits Aggregation)相关推荐

  1. 白话Elasticsearch58-数据建模实战_基于nested object实现博客与评论嵌套关系

    文章目录 概述 官网 示例 Object datatype 让ES自动创建索引,插入一条数据 查看mapping 需求: 被年龄是28岁的黄药师评论过的博客 查询结果不对原因分析 Nested dat ...

  2. 美团配送数据治理实践【转载美团技术团队博客】

    大数据时代的到来,让越来越多的企业看到了数据资产的价值.将数据视为企业的重要资产,已经成为业界的一种共识,企业也在快速探索应用场景和商业模式,并开始建设技术平台. 但这里要特别强调一下,如果在大数据& ...

  3. .net excel导入mysql_.NET Core使用NPOI将Excel中的数据批量导入到MySQL - 追逐时光者 - 博客园...

    前言: 在之前的几篇博客中写过.NET Core使用NPOI导出Word和Excel的文章,今天把同样我们日常开发中比较常用的使用Excel导入数据到MySQL数据库中的文章给安排上.与此同时还把NP ...

  4. iOS 10 的坑:新机首次安装 app,请求网络权限“是否允许使用数据”_前进的火车_新浪博客...

    这个坑最近弄得我很抓狂,不过现在基本弄清楚了.记录一下过程中我收集到的信息,分享给大家. 症状 iOS 10 之后,陆陆续续地有用户联系我们,说新机第一次安装.第一次启动的时候,app 首屏一片空白, ...

  5. 科学绘图与数据分析软件SigmaPlot_我是亲民_新浪博客

    一句话介绍:在众多的统计绘图软件中,能与Origin值得并提的非SigmaPlot莫属,SigmaPlot绘制图形的精美程度远非SPSS.Excel甚或Origin能及,在众多的国外顶级知名杂志期刊如 ...

  6. jsecharts如何改变占比_echarts.js多图表数据展示使用小结_蓝戒的博客

    // 路径配置 require.config({ paths: { echarts: 'http://localhost/beyondsoft/static/component/echarts/bui ...

  7. oracle到pg不停机增量迁移,研究 Oracle 到 PostgreSQL 的数据迁移 – 以 pgloader 为例 – Phy 的博客...

    一点实习成果,过程中学了很多东西,就放出来吧,欢迎交流指正. pgloader 介绍 一个开源的工具,用来把数据从其他地方导入到 PostgreSQL 写入 PostgreSQL 的时候用的 COPY ...

  8. Odata数据展示_SAP刘梦_新浪博客

    官方测试URL http://services.odata.org/V3/OData/OData.svc/ 以json格式显示 http://services.odata.org/V3/OData/O ...

  9. 学习大数据方向_李孟_新浪博客

    大数据指无法用传统数据库软件工具对其内容进行抓取.管理和处理的大体量数据集合. 海量数据处理指判断数据的价值. 一.海量数据分成两块,一是系统建设技术,二,海量数据应用. 目前我了解大数据的职位: 大 ...

最新文章

  1. ArcGIS JS 学习笔记4 实现地图联动
  2. 死磕Java并发:Java内存模型之happens-before
  3. Exchange 2013/2016延迟副本重播管理(Reply Log Manager)
  4. 控制台程序如何加图标
  5. php里注册管理员账号,WordPress中创建用户角色的相关PHP函数使用详解
  6. [每天进步一点 -- 流水账]第1周
  7. 用apache的httpclient发请求和接受数据
  8. CDH版Phoenix的安装(图文详解)
  9. 幸福在《精通移动App测试实战 技术、工具和案例》
  10. 怎么让电脑屏幕一直亮着_上班族需要注意哪些养生禁忌 一直坐着没好处_百姓民生_新闻...
  11. Javascript第四章变量的提升和预解析方法流程第四课
  12. /etc/apt/sources.list.d/ros-latest.list' permission denied
  13. flowable 配置自定义表单_web工作流管理系统开发之四 自定义表单
  14. 自己动手写网络爬虫-----(1)
  15. java 繁体转简体_java 中文繁简体转换工具 opencc4j
  16. 【Linux 中国】Ubuntu vs Arch:孰优孰劣?
  17. Mysql基础篇(4)—— 创建和管理表
  18. Java框架jboot_微服务框架 Jboot 2.0.5 发布,常规更新
  19. 异常检测方法梳理,看这篇就够了!
  20. python向量计算库教程_python中numpy基础学习及进行数组和矢量计算

热门文章

  1. Second Week: Git与Github的使用
  2. 找到字符串的最长无重复字符子串
  3. ubantu使用apt安装时出现: xxx is not found 的解决方法
  4. Hadoop学习之MapReduce(五)
  5. python可视化界面工具_8个流行的 Python可视化工具包,你喜欢哪个?
  6. 双NameNode的同步机制
  7. MAC下homebre安装mysql
  8. linux播放视频的最简单方法
  9. 调试应用不发愁,免安装的 curl 来帮忙
  10. 数据挖掘导论读书笔记7 Apriori算法