es多字段分组去重统计

2023-11-04

es多字段分组去重统计

oracle中sql:
select a1 ,b1 from dual group by a1 ,b1

select DISTINCT a1 ,b1 from dual

es分组去重统计:
(话不多说,直接贴代码)
TermsAggregationBuilder mobilesBuilder = AggregationBuilders.terms(“mobiles”).field(“mobile”);
TermsAggregationBuilder msgIdsBuilder = AggregationBuilders.terms(“msgIds”).field(“msgId”);
mobilesBuilder.subAggregation(msgIdsBuilder);
SearchResponse searchResponse = this.getClient().prepareSearch(dailyIndexNamesByTime)
.setFrom(0)
.setSize(10000)
.setSearchType(SearchType.DFS_QUERY_THEN_FETCH)
.addSort(“createDate”, SortOrder.DESC)
.addAggregation(mobilesBuilder)
.setQuery(boolQueryBuilder)
.execute()
.actionGet();
查询结果:
“aggregations”: {
“mobiles”: {
“doc_count_error_upper_bound”: 0,
“sum_other_doc_count”: 0,
“buckets”: [
{
“key”: “1500111111”,
“doc_count”: 3,
“msgIds”: {
“doc_count_error_upper_bound”: 0,
“sum_other_doc_count”: 0,
“buckets”: [
{
“key”: “5d7e222f873a475790f4877af1fc4269”,
“doc_count”: 2
},
{
“key”: “231d9fd9348645ffa425396f31525f92”,
“doc_count”: 1
}
]
}
},
{
“key”: “1851000000”,
“doc_count”: 3,
“msgIds”: {
“doc_count_error_upper_bound”: 0,
“sum_other_doc_count”: 0,
“buckets”: [
{
“key”: “04209177ebd54f88b21668a38115af37”,
“doc_count”: 1
},
{
“key”: “2866cdbae5b3468d803282a3ba3b038e”,
“doc_count”: 1
},
{
“key”: “ad5b9d0123084fb78b34e34397fc26de”,
“doc_count”: 1
}
]
}
},
{
“key”: “134522222”,
“doc_count”: 1,
“msgIds”: {
“doc_count_error_upper_bound”: 0,
“sum_other_doc_count”: 0,
“buckets”: [ ]
}
}
]
}
}
思路解析:
先按照mobile分组,再根据mobile对每个msgId分组,最终,从aggregations中的每个mobil中遍历出magId个数。
(描述得不太清晰,看代码和执行结果就好)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

es多字段分组去重统计 的相关文章

  • Elasticsearch使用系列-ES增删查改基本操作+ik分词

    一 安装可视化工具Kibana ES是一个NoSql数据库应用 和其他数据库一样 我们为了方便操作查看它 需要安装一个可视化工具 Kibana 官网 https www elastic co cn downloads kibana 和前面安
  • CSDN第一篇博客,找工作日记第一篇

    今天结束了UC公司的几轮面试 不确定能否拿到offer 但回顾近几天的校招情况 比起十一之前不顺利的过程来说的确让人欣慰了很多 最近考了很多公司的笔试 也面过4399 UC TP LINK等等 峰回路转地明天还要参加百度的面试 当然还有菲音
  • ES 搜索21 (function_score查询 关键字 functions 和 weight 滤集提升权重分)

    过滤集提升权重 回到 忽略 TF IDF 里处理过的问题 我们希望根据每个度假屋的特性数量来评分 当时我们希望能用缓存的过滤器来影响评分 现在 function score 查询正好可以完成这件事情 到目前为止 我们展现的都是为所有文档应用
  • ES自己手动高亮

    背景 es的高亮真的是一言难尽 经常出现各种各样的高亮异常 如 高亮错位 高亮词错误等等 而且 用wildcardQuery 等 也无法高亮 可能是我技术不精吧 总是调不好这玩意 因此决定手写高亮 废话不多说 直接上代码 1 第一步 处理高
  • 不管人工智能发展如何 开发者都有必要了解 Linux 内核

    Linux内核在计算机世界的地位有目共睹 称它为计算机世界的基石也不为过 而且它还是全球最大的开源项目 几乎最知名的科技公司都参与其中 包括谷歌 Red Hat SUSE Intel Facebook 甲骨文和华为等 当然还包括Linux的
  • 计算机网络系列--TCP 篇

    TCP 是因特网协议栈中运输层 传输层 常用的协议 该协议的全称为 Transmission Control Protocol 传输控制协议 它提供了一种可靠的数据传输 而因特网协议栈中运输层的另一种常用的协议则不提供可靠的数据传输 它在网
  • es基础操作

    列出所有索引 列出所有索引 列出所有的数据库 GET cat indices v 添加索引 PUT goods settings 副本数 number of replicas 1 分片数 number of shards 5 删除索引 DE
  • ES 搜索7 (多词查询)

    多词查询 如果我们一次只能搜索一个词 那么全文搜索就会不太灵活 幸运的是 match 查询让多词查询变得简单 GET my index my type search query match title BROWN DOG 上面这个查询返回所
  • 基础连接已关闭解决办法

    最近微信公众号功能莫名其妙的出问题 在调腾讯和百度接口就出问题 也不知道哪里抽风 只要调用外部接口 POST或者GET提交 准备出错 提示基础连接已关闭 httpWebRequest请求错误 基础连接已经关闭 连接被意外关闭 研究很久很久
  • 为你推荐10款开发常用的代码编辑器

    代码编辑器对于程序员来说十分重要 一个好的编辑器可以节省开发时间 提高工作效率 这篇文章会介绍10个优秀且免费的编辑器 它们都是非常方便易用的环境 你可以用它们来编写代码 查看源文件和文档等 简化你的工作 本文由PHP100中文网编译 转载
  • ELK 性能优化实践

    点击上方蓝色 方志朋 选择 设为星标 回复 666 获取独家整理的学习资料 一 背景介绍 近一年内对公司的 ELK 日志系统做过性能优化 也对 SkyWalking 使用的 ES 存储进行过性能优化 在此做一些总结 本篇主要是讲 ES 在
  • mysql 字符集问题整理

    mysql 字符集问题整理 一直对mysql字符集没有明确的概念 mysql为了方便 设置了各种层级的字符集 最近在移植mat数据库时 顺便把这个问题整理清楚 供参考和学习 文章最后有word版本 有两张图片以及不同文字的颜色区分 首先是M
  • win10系统下安装Kafka 的详细步骤

    Win10 系统下要使用Kafka需要经过以下三个步骤 1 安装JDK 需要安装依赖java JDK 2 安装zookeeper 资源协调 分配管理 3 安装Kafka 一 安装 Java SE Development Kit 13 0 1
  • ES删除数据

    ES删除数据 注意 删除数据请谨慎执行 删除大于 日期的 其他场景可参照执行 DeleteQuery deleteQuery new DeleteQuery deleteQuery setIndex es中 index deleteQuer
  • Docker-swarm 介绍,集群,多服务部署实战

    一 什么是Docker Swarm Swarm是Docker公司推出的用来管理docker集群的平台 几乎全部用GO语言来完成的开发的 代码开源在https github com docker swarm 它是将一群Docker宿主机变成一
  • pymongo "ServerSelectionTimeoutError: No servers found yet" 错误的解决

    系统转移过程中 擅自把aptitude安装的mongoengine换成了pip安装 系统启动以后 报这个错误 报错提示 File usr local lib python2 7 dist packages pymongo mongo cli
  • 非常详尽的 Linux 中 WEB服务器配置与管理 (通过例子来讲解)

    Apache服务器的安装与启动 检查是否已经安装了APACHE并启动它 这是已安装好的状态 root root rpm qa grep httpd httpd tools 2 2 15 53 el6 x86 64 httpd 2 2 15
  • XSS & SQL injection

    作者 CyberPhreak XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X Web Security XSS more X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 介绍在这篇文章中我将说明所有关于X
  • ySql.Data.Types.MySqlConversionException: Unable to convert MySQL date/time value to System.DateTime

    public DateTime Createtime MySql Data Types MySqlConversionException Unable to convert MySQL date time value to System D
  • C#有像Java ThreadLocal的类似实现吗?

    在C 中 可以使用 ThreadLocal

随机推荐

  • 工具链接记录

    工具链接记录 内网穿透 https gofrp org docs examples https2http
  • C/C++声明类型typedef

    typedef为现有类型定义易于记忆的类型名 即同义字 别名 它与传统C语言中 define很相似 下面我们就从实例中体会它的用处 1 常规变量类型定义 例如无符号整型标识符太长 为了自己后续方便 我希望起个自己认识又短小精简的名字 如下
  • Extremal Region(极值区域)文本定位与识别法-学习笔记(一)

    最近做一个计算机视觉的项目 要将其中复杂场景中的文本识别率从92 进一步提升 挑战很大也很有意思 边阅读一些最新的文本定位与识别的论文 边在这里记下阅读笔记与翻译内容 慢慢研究 本人英语与专业水平有限 仅供学习参考 欢迎交流 请多指教 Re
  • 网络基础:子网掩码划分2

    例子 例1 192 168 1 88 26传统方法 192 168 1 88 26 192 168 1 88 255 255 255 192 注意 26 255 255 255 11000000 255 255 255 192 传统方法 1
  • python:打包package

    简介 把模块打包成package 可以进行分发和安装 packaged的打包和安装 一 package层次架构 二 package的打包和安装 1 创建setup py 2 打包package 3 安装package 一 package层次
  • 设计模式--命令模式

    命令模式 属于行为型模式基本原理 请求以命令的形式包裹在对象中 并传给调用对象 调用对象寻找可以处理该命令的合适的对象 并把该命令传给相应的对象 该对象执行命令 主要流程 1 创建命令对象 该对象中包含请求 和执行请求 2 创建请求类 其中
  • 我问chatGPT,在JavaScript中构造函数和类的区别

    问 构造器函数和面向中的类是同样的东西吗 答 构造器函数和面向对象中的类并不是同样的东西 它们之间有些许不同 在面向对象编程中 类是一种抽象的概念 它描述了一类具有相同属性和行为的对象 类可以看作是对象的蓝图 包含了对象的属性和方法 而对象
  • 如何进行弱网测试?专项测试中最实用的方法了解一下……

    目录 引言 一 什么是弱网测试 二 为何要进行弱网测试 三 如何做弱网测试 四 弱网测试工具 引言 如今这个高度互联的时代里 网络环境对于应用程序的影响越来越重要 而弱网测试就是用来检验应用程序在恶劣网络环境下的表现 如果你是一名开发人员或
  • 【linux shell】服务器系统自动化巡检脚本资源状况统计

    运维服务器系统的时候需要定期检查服务器系统资源状况 如CPU 内存 硬盘这些资源消耗信息统计 在这种情况下也可以用开源的监控系统导出相应的需求信息或者直观的通过监控平台去查看资源状况 本文将介绍另一种方式通过Linux shell脚本实现服
  • 0xA00F4244<NoCamerasAttached>相机打不开解决办法

    0xA00F4244 NoCamerasAttached 依次排查 ctrl s 搜索 设备管理器 打开找到 照相机 如图1 如果为灰色 说明设置里头相机权限没有打开 可以去设置打开如图2 也可以fn f10 打开之后 返回 设备管理器 窗
  • 基于fasttext的新客服文本分类

    基于fasttext的新客服文本分类效果评估 具体步骤如下 数据处理 模型搭建 效果评估 结论 第一部分数据处理包括 数据读取 数据标准化格式处理 训练集和验证集数据准备 数据读取 import pandas as pd df pd rea
  • City Horizon

    http acm hust edu cn 8080 judge contest viewProblem action pid 45728 Description Farmer John has taken his cows on a tri
  • C语言文件读写命令

    C语言把磁盘文件看成是字符 或字节 的序列 按照存储信息的形式来说 文件主要是有文本文件和二进制文件 文本文件由一个个字符组成 每个字节存放一个ASCII码制 代表一个字符 二进制文件把内存中的数据按其在内存中的存储形式原样放入磁盘空间 二
  • Linux编程基础之文本文件末尾自动加换行

    目录 前言 hello txt 文件内容 证明 总结 前言 操作系统 Fedora 文本文件末尾会自动加换行 利用 off t oldpos lseek fd 0 SEEK END 指针定位会到最后一个字符 都是换行符 后面一位 相当于什么
  • c++基础学习

    创建c 程序 include
  • ISCC2023全国大学生网络信息安全竞赛

    竞赛入口 http www isclab org cn 1 竞赛简介 信息安全已涉及到国家政治 经济 文化 社会和生态文明的建设 信息系统越发展到它的高级阶段 人们对其依赖性就越强 从某种程度上讲其越容易遭受攻击 遭受攻击的后果越严重 网络
  • linux创建新用户

    1 添加用户 adduser test 设置密码 passwd test 2 添加root权限 1 chmod 755 etc sudoers vi etc sudoers 文件 找到下面一行 把前面的注释 去掉 Allows people
  • 数据集市项目的总结

    本人毕业就在某银行信用卡中心工作 做了数据集市项目 据说投资3000万 后来在阿里做数据产品经理的工作 想把过去的工作总结一下 不管成功和失败 都是一种经历 于是有了下面的文字
  • 使用二分法实现在一个有序列表中查找指定的元素

    二分法是一种快速查找的方法 时间复杂度低 逻辑简单易懂 总的来说就是不断的除以2除以2 例如需要查找有序数组arr里面的某个关键字key的位置 那么首先确认arr的中位数或者中点center 下面分为三种情况 1假如arr center g
  • es多字段分组去重统计

    es多字段分组去重统计 oracle中sql select a1 b1 from dual group by a1 b1 或 select DISTINCT a1 b1 from dual es分组去重统计 话不多说 直接贴代码 Terms