白话Elasticsearch55-数据建模之对每个用户发表的博客进行分组 (Top Hits Aggregation)
文章目录
- 概述
- 官网
- 示例
概述
继续跟中华石杉老师学习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)相关推荐
- 白话Elasticsearch58-数据建模实战_基于nested object实现博客与评论嵌套关系
文章目录 概述 官网 示例 Object datatype 让ES自动创建索引,插入一条数据 查看mapping 需求: 被年龄是28岁的黄药师评论过的博客 查询结果不对原因分析 Nested dat ...
- 美团配送数据治理实践【转载美团技术团队博客】
大数据时代的到来,让越来越多的企业看到了数据资产的价值.将数据视为企业的重要资产,已经成为业界的一种共识,企业也在快速探索应用场景和商业模式,并开始建设技术平台. 但这里要特别强调一下,如果在大数据& ...
- .net excel导入mysql_.NET Core使用NPOI将Excel中的数据批量导入到MySQL - 追逐时光者 - 博客园...
前言: 在之前的几篇博客中写过.NET Core使用NPOI导出Word和Excel的文章,今天把同样我们日常开发中比较常用的使用Excel导入数据到MySQL数据库中的文章给安排上.与此同时还把NP ...
- iOS 10 的坑:新机首次安装 app,请求网络权限“是否允许使用数据”_前进的火车_新浪博客...
这个坑最近弄得我很抓狂,不过现在基本弄清楚了.记录一下过程中我收集到的信息,分享给大家. 症状 iOS 10 之后,陆陆续续地有用户联系我们,说新机第一次安装.第一次启动的时候,app 首屏一片空白, ...
- 科学绘图与数据分析软件SigmaPlot_我是亲民_新浪博客
一句话介绍:在众多的统计绘图软件中,能与Origin值得并提的非SigmaPlot莫属,SigmaPlot绘制图形的精美程度远非SPSS.Excel甚或Origin能及,在众多的国外顶级知名杂志期刊如 ...
- jsecharts如何改变占比_echarts.js多图表数据展示使用小结_蓝戒的博客
// 路径配置 require.config({ paths: { echarts: 'http://localhost/beyondsoft/static/component/echarts/bui ...
- oracle到pg不停机增量迁移,研究 Oracle 到 PostgreSQL 的数据迁移 – 以 pgloader 为例 – Phy 的博客...
一点实习成果,过程中学了很多东西,就放出来吧,欢迎交流指正. pgloader 介绍 一个开源的工具,用来把数据从其他地方导入到 PostgreSQL 写入 PostgreSQL 的时候用的 COPY ...
- Odata数据展示_SAP刘梦_新浪博客
官方测试URL http://services.odata.org/V3/OData/OData.svc/ 以json格式显示 http://services.odata.org/V3/OData/O ...
- 学习大数据方向_李孟_新浪博客
大数据指无法用传统数据库软件工具对其内容进行抓取.管理和处理的大体量数据集合. 海量数据处理指判断数据的价值. 一.海量数据分成两块,一是系统建设技术,二,海量数据应用. 目前我了解大数据的职位: 大 ...
最新文章
- ArcGIS JS 学习笔记4 实现地图联动
- 死磕Java并发:Java内存模型之happens-before
- Exchange 2013/2016延迟副本重播管理(Reply Log Manager)
- 控制台程序如何加图标
- php里注册管理员账号,WordPress中创建用户角色的相关PHP函数使用详解
- [每天进步一点 -- 流水账]第1周
- 用apache的httpclient发请求和接受数据
- CDH版Phoenix的安装(图文详解)
- 幸福在《精通移动App测试实战 技术、工具和案例》
- 怎么让电脑屏幕一直亮着_上班族需要注意哪些养生禁忌 一直坐着没好处_百姓民生_新闻...
- Javascript第四章变量的提升和预解析方法流程第四课
- /etc/apt/sources.list.d/ros-latest.list' permission denied
- flowable 配置自定义表单_web工作流管理系统开发之四 自定义表单
- 自己动手写网络爬虫-----(1)
- java 繁体转简体_java 中文繁简体转换工具 opencc4j
- 【Linux 中国】Ubuntu vs Arch:孰优孰劣?
- Mysql基础篇(4)—— 创建和管理表
- Java框架jboot_微服务框架 Jboot 2.0.5 发布,常规更新
- 异常检测方法梳理,看这篇就够了!
- python向量计算库教程_python中numpy基础学习及进行数组和矢量计算