es查询单字段去重

1 环境

es 7.10

2 去重方式

2.1 collapse功能

注意:使用此方式去重时,不会去除掉不存在去重字段的数据。
去重字段只能是数字类型或keyword

对text字段进行去重将报错,报错如下。

"unknown type for collapse field `xxx`,only keywords and numbers are accepted"

去重举例如下:
(1)根据approval查询,且根据standardId去重

GET test/_search
{"query": {"term": {"approval":"苏械注准20172091712"}},"collapse": {"field": "standardId"}
}其中standardId的mappings信息如下:
"standardId" : {"type" : "long"
}

(2)根据approval查询,且根据dosageName去重

GET test/_search
{"query": {"term": {"approval":"苏械注准20172091712"}},"collapse": {"field": "dosageName.keyword"}
}其中dosageName的mappings信息如下:"dosageName" : {"type" : "text","fields" : {"keyword" : {"type" : "keyword","ignore_above" : 256}}}

2.2 去重字段聚合+top_hits聚合

注意:使用此方式去重时,会去除掉不存在去重字段的数据。

根据approval查询,且根据standardId去重

GET test/_search
{"query": {"term": {"approval": "苏械注准20172091712"}},"size": 0,"aggs": {"age_aggs": {"terms": {"field": "standardId","size": 10},"aggs": {"age_top": {"top_hits": {"sort": [{"standardId": {"order": "desc"}}], "size": 1}}}}}
}

3 统计去重后的数量

3.1 聚合+cardinality

注意:使用此方式统计去重后的数量时,会去除掉不存在去重字段的数据。

查询根据approval查询,且根据standardId去重后的数量:

# "size": 0 -> 指定es结果中不返回去重前的具体数据,只返回去重后的数量
GET test/_search
{"query": {"term": {"approval": "苏械注准20172091712"}},"size": 0, "aggs": {"age_aggs": {"cardinality": {"field": "standardId"}}}
}

4 java代码实现

待完善

5 参考文献

(1)https://blog.csdn.net/weixin_44799217/article/details/128509505
(2)https://blog.csdn.net/weixin_43702146/article/details/120533336

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/629069.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

快速入门Torch构建自己的网络模型

真有用构建自己的网络模型 读前必看刚学完Alex网络感觉很厉害的样子,我也要搭建一个可以看着网络结构实现上面的代码你已经很强了,千万不要再想实现VGG等网络!!!90%你能了解到的模型大佬早已实现好,直接调用…

MFC CAsyncSocket类作为客户端示例

之前写过CAsyncSocket类使用的博客;进一步看一下; VS新建一个MFC 对话框工程; 添加一个类,从CAsyncSocket继承,起个自己的名字; 对话框添加几个编辑框,按钮,静态控件; 为自己的CxxxAsyncSocket类添加重写的虚函数,OnConnect、OnReceive、OnSend; 自己的CAsyncSoc…

pytorch一致数据增强—独用增强

前作 [1] 介绍了一种用 pytorch 模仿 MONAI 实现多幅图(如:image 与 label)同用 random seed 保证一致变换的写法,核心是 MultiCompose 类和 to_multi 包装函数。不过 [1] 没考虑各图用不同 augmentation 的情况,如&am…

如何使用ActiveMQ

ActiveMQ是Apache的一款开源消息总线,主要用来做消息的分发。使用ActiveMQ,通常需要以下步骤: 一、启动ActiveMQ 首先需要下载ActiveMQ,然后进行启动。启动后,可以在控制台创建队列,初始用户名和密码通常…

生物制药厂污水处理需要哪些工艺设备

生物制药厂是一种特殊的工业场所,由于其生产过程中涉及的有机物较多,导致废水中含有高浓度的有机物和微生物等污染物,因此需要采用一些特殊的工艺设备来进行污水处理。本文将介绍生物制药厂污水处理中常用的工艺设备。 首先,对于生…

【面试合集】说说微信小程序的支付流程?

面试官:说说微信小程序的支付流程? 一、前言 微信小程序为电商类小程序,提供了非常完善、优秀、安全的支付功能 在小程序内可调用微信的API完成支付功能,方便、快捷 场景如下图所示: 用户通过分享或扫描二维码进入商…

2024年华数杯国际赛赛题浅析

21号完赛,28号出成绩的华数杯国际赛,作为美赛最合适的练手赛正式开赛。为了让大家更好地比赛,首先为大家带来本次竞赛两道题目的浅要解析。主要分析两道题目适合的群体,未来大家求解过程中可能遇到的问题。方便大家快速完成选题。…

农业四情监测管理系统的特点优势

TH-Q2农业四情监测管理系统是一种利用现代信息技术,对农业生产中的墒情、苗情、虫情、灾情进行实时监测和管理的智能化系统。那么,这个系统到底有哪些特点和优势呢?让我们一起来了解一下。 1.实时监测:通过传感器、摄像头等设备&a…

美国智库发布《用人工智能展望网络未来》的解析

文章目录 前言一、人工智能未来可能改善网络安全的方式二、人工智能可能损害网络安全的方式三、人工智能使用的七条建议四、人工智能的应用和有效使用AI五、安全有效地使用人工智能制定具体建议六、展望网络未来的人工智能(一)提高防御者的效率&#xff…

DWM1000 MAC层

DWM1000 MAC层 MAC层 概述 MAC层,即媒体访问控制层,是数据通信协议栈中的一个重要部分,位于链路层的下半部分,紧邻物理层。在OSI模型中,它属于第二层,即数据链路层的一部分。MAC层的主要职责是控制如何在…

vue3使用element-plus 树组件(el-tree)数据回显

html <el-tree ref"treeRef" :data"data" show-checkbox :default-expand-all"false" node-key"id" highlight-current:props"defaultProps" check"handleCheckChange" /> js // 编辑按钮 let Jedit (r…

基于单片机的集中供热监控电路设计

一、摘要 随着城市化进程的加快&#xff0c;集中供热系统在城市居民生活中扮演着越来越重要的角色。为了确保供热系统的稳定运行&#xff0c;提高供热效率&#xff0c;降低能耗&#xff0c;本文设计了一种基于单片机的集中供热监控电路。该电路主要包括温度传感器、压力传感器…

安装 jupyter 运行python代码教程分享

要在Windows系统上安装和使用Jupyter Notebook运行Python代码&#xff0c;您可以按照以下步骤进行&#xff1a; 安装Jupyter Notebook&#xff1a; 使用Pip&#xff1a;在全局环境中安装Jupyter Notebook&#xff0c;使用命令pip install --user jupyterlab。如果只想安装Jupyt…

框架基础-Maven+SpringBoot入门

框架基础 Maven基础 Maven概述 Maven是为Java项目提供项目构建和依赖管理的工具 Maven三大功能 - 项目构建构建&#xff1a;是一个将代码从开发阶段到生产阶段的一个过程&#xff1a;清理&#xff0c;编译&#xff0c;测试&#xff0c;打包&#xff0c;安装&#xff0c;部署…

运筹说 第46期 | 目标规划-数学模型

经过前几期的学习&#xff0c;想必大家已经对线性规划问题有了详细的了解&#xff0c;但线性规划作为一种决策工具&#xff0c;在解决实际问题时&#xff0c;存在着一定的局限性&#xff1a;(1)线性规划只能处理一个目标&#xff0c;而现实问题往往存在多个目标&#xff1b;(2)…

GEE时序——利用sentinel-2(哨兵-2)数据进行地表物候学分析(时间序列平滑法估算和非平滑算法代码)

简介 哨兵-2A/B 串联卫星的空间分辨率高、重访时间长,有可能改进对陆地表面物候的检索。不过,生物群落和区域特征在很大程度上限制了陆表物候学算法的设计。在北极地区,这种生物群落特有的特征包括长期积雪、持续云层覆盖和生长季节短暂。在此,我们评估了哨兵-2 获取北极高…

【jupyter添加虚拟环境内核(pytorch、tensorflow)- 实操可行】

jupyter添加虚拟环境内核&#xff08;pytorch、tensorflow&#xff09;- 实操可行 1、查看当前状态(winR&#xff0c;cmd进入之后)2、激活虚拟环境并进入3、安装ipykernel5、完整步骤代码总结6、进入jupyter 添加pytorch、tensorflow内核操作相同&#xff0c;以下内容默认已经安…

Klocwork—符合功能安全要求的自动化静态测试工具

产品概述 Klocwork是Perforce公司产品&#xff0c;主要用于C、C、C#、Java、 python和Kotlin代码的自动化静态分析工作&#xff0c;可以提供编码规则检查、代码质量度量、测试结果管理等功能。Klocwork可以扩展到大多数规模的项目&#xff0c;与大型复杂环境、各种开发工具集成…

低代码自动化测试的实践

何为低代码测试 传统上&#xff0c;功能、 UI、端到端等测试自动化的实现都涉及编写测试脚本&#xff0c;代替测试人员执行重复的手动测试任务。自动化脚本的开发工作通常由 QA 工程师或开发人员完成&#xff0c;这需要编写大量代码。 而低代码甚至无代码的理念也是在自动化测…

ThinkPHP为什么用PHP+Swoole协程模式部署运行

看很多ThinkPHP框架的程序商城等系统&#xff0c;现在都用PHPSwoole协程来运行。在说Swoole前我们先了解下传统PHP模式。 PHP-FPM 的对象常驻内存问题 互联网发展早期&#xff0c;大部分项目的业务逻辑并没有那么复杂&#xff0c;技术生态相对比较简单&#xff0c;也没有 Com…