elasticsearch去重查询总条数

elasticsearch去重查询 elasticsearch去重查询 目录: 1、业务背景: 2、切入正题:去重查询 1、业务背景: 最近的实际中业务中,要对用户订单数据进行统计,用户订单数据从用户下单到支付的过程都会记录,同时每次用户订单查看也会产生一次订单更新数据,但是由于历史原因,用户订单更新数据入库没有进行整理,都是直接把订单相关的数据存入es。今天某项数据分析需要对用户订单进行查询并去重做一些针对订单维度的分析。 2、... 阅读详情

java API

SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
searchSourceBuilder.collapse(new CollapseBuilder("name.keyword"));

但是有个问题,就是hits的total value不对,对应的还是未去重的数量,其实想要的是去重后的总数

可以借助 Aggregation 中的 cardinality 来实现

java API

SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
AggregationBuilder aggregation = AggregationBuilders.cardinality(DISTINCT_TOTAL_COUNT).field("name.keyword");
searchSourceBuilder.aggregation(aggregation);

获取去重后的数量

Aggregations aggregations = searchResponse.getAggregations();
Cardinality cardinality = aggregations.get(DISTINCT_TOTAL_COUNT);
System.out.println(cardinality.getValue());

需要注意的是,字段类型得是keyword类型。DISTINCT_TOTAL_COUNT是自定义的属性

 

才华不溢,梦想依旧
唯心沉淀,遨游宇宙

 

ElasticSearch java api实现 聚合+去重查询,获取去重后明细数据 先说下业务场景,在我们的业务中,分析存在ES中的数据,需要获取到一定数据量的去重明细数据,例如,我们想要查看某一批设备的属性信息,分析设备属性是否存在某些一致性特征,这种情况下,我们就需要获取到这些设备属性的去重数据,因为重复的设备信息对我们没有意义。 我在网上找到很多的聚合去重查询,但是大部分都是restful api实现,而且大部分都是去重查询数量,查明细数据的例子很少。 基于restful api的实现很容易,只要拼装出相应的聚合查询json数据结构,设置好聚合、排序、数量限制等条件,即可完成去重 阅读详情

相关推荐

【Elasticsearch】es 查询 去重

1.概述 转载:Elasticsearch6.X 去重详解 1、题记 Elasticsearch有没有类似mysql的distinct的去重功能呢? 1)如何去重计数? 类似mysql: select distinct(count(1)) from my_table; 2)如何获取去重结果。 类似mysql:SELECT DISTINCT name,age FROM users; 2、需求 1)对ES的检索结果进行去重统计计数。 2)对ES的检索结果去重后显示 3、分析 1)统计计数需要借助ES聚合功能结.

九师兄 7477

ES聚合统计

1. 以多个字段唯一并去重后统计总数 2. 求近15添内日平均数据 3. 求近15天内平均数据

hdn_kb的博客 3307

AI+Xmind自动生成测试用例(思维导图格式)

最后:我是Walker,一个热爱分享编程知识的程序员,希望能够帮助到你!

Think_and_work的博客 2332

es 获取按条查询出来真实的总数

elasticsearch版本7.x如果查询的结果大于1w条,则在total上的总数只是返回1w,如果想要获取真实的总数,则需要在查询的时候添加以下: POST department/_search { "track_total_hits": true, "query": { "query_string": { "query": "*村*" } }, "collapse":{ "field" : "department_id" }, "_sour

才子佳人的博客 9343

实战解析:如何利用MDFEND与Weibo21数据集构建多领域假新闻检测系统

本文实战解析了如何利用MDFEND模型与Weibo21数据集构建多领域假新闻检测系统。文章深入剖析了MDFEND的领域门控与专家混合机制,并提供了从数据预处理、模型理解到训练部署的完整指南,旨在解决通用模型在不同领域新闻检测中的性能衰减问题,提升检测的准确性与适应性。

vulkan6gpu的博客 579

思科模拟器实战:MQTT协议实现物联网设备通信全流程解析

本文详细解析了如何在思科模拟器中利用MQTT协议实现物联网设备通信的全流程。通过搭建网络拓扑、配置MQTT Broker与客户端,并编写发布/订阅逻辑,手把手指导读者完成一个“开关控制电灯”的经典物联网场景实验,帮助零成本掌握物联网通信核心。

weixin_29294975的博客 381

SpringBoot+ElasticSearch - NativeSearchQueryBuilder聚合查询

DSL实现 Java实现 @Autowired ReactiveElasticsearchTemplate reactiveElasticsearchTemplate; public Flux<org.elasticsearch.search.aggregations.Aggregation> getDrivingTrendModel(Search search) { NativeSearchQueryBuilder nativeSearchQueryBu

〆、挽风的博客 4490

实用电路精讲系列---双级运放放大电路(差分放大+跟随缓冲)

本文分析了双极运放放大电路的工作原理及其典型应用。该电路结合差分放大器和跟随缓冲器,实现高精度信号放大与阻抗匹配。差分放大器通过放大差模信号并抑制共模噪声提升信噪比;跟随缓冲器则提供阻抗变换,确保信号稳定传输。两者协同工作可优化输入阻抗、增强噪声抑制并提高设计灵活性。文章还列举了10个典型应用案例,包括医疗设备、工业传感器和新能源系统等,展示了该电路在精密电子系统中的关键作用。最后通过实用电路分析,详细说明了各模块功能及设计注意事项。

weixin_40590799的博客 2951

JAVA中ES根据条件查询计数操作

【代码】JAVA中ES根据条件查询计数操作。

weixin_41879185的博客 2699

【Unity 实用工具篇】 | Book Page Curl 快速实现翻书效果

游戏和应用开发中,真实感的交互设计能显著提升用户体验。Unity3D图书翻页效果插件为开发者提供了一种便捷方式,可在项目中实现高度拟真的书籍翻页动画。 本文介绍该插件的快速使用方法,涵盖从基础导入到自动翻页效果创建的全过程,让我们快速实现翻页效果。

努力前行,总会成为自己心中的那道光 1万+

[ vulhub漏洞复现篇 ] ActiveMQ反序列化漏洞复现(CVE-2015-5254)

Apache ActiveMQ是美国阿帕奇(Apache)软件基金会所研发的一套开源的消息中间件,它支持Java消息服务、集群、Spring Framework等。由于ActiveMQ是一个纯Java程序,因此只需要操作系统支持Java虚拟机,ActiveMQ便可执行。Apache ActiveMQ 5.13.0之前5.x版本中存在安全漏洞,该漏洞源于程序没有限制可在代理中序列化的类。......

qq_51577576的博客 4444

Elasticsearch-head 查询按某字段去重后命中数量

代码 //需要在地址栏指明: http://ip:port/索引/_search 并使用post方法 { "query": { "match": { "facedbId": "xxx" //指定facedbId='xxx'查询条件 } }, "size": 0, "aggs": { "labelId_aggs": { "cardinality": { "field": "labelId" //指定查询结果按label

愿你远行千里,归来仍是少年 2258

Python蓝色跳动的爱心(完整代码)

Python语言实现蓝色跳动的爱心的完整代码。 代码分析 这段代码使用了 库来创建一个动态的爱心图案,并在屏幕上显示带有动态效果的“我爱你”字样。以下是对这段代码的详细分析: 用于创建图形用户界面(GUI)。 用于生成随机数,主要用于控制爱心图案的扩散效果。 中的 , , , 用于数学计算,生成爱心形状和扩散效果。 包含了 等常量,用于控制控件的对齐方式。 2. 全局变量定义 , : 定义画布的大小。 , : 爱心的中心坐标。 : 用于定义爱心形状的缩放

AIGC 1917

elasticsearch去重查询指定的数据量

es去重

nddjava的专栏 443

Android 12,通过JNI写framebuff实现白板书写加速

Android 书写加速

448313096@qq.com 1202

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Elasticsearch去重查询

1、前言 最近遇到一个es数据查询去重的需求,我这边需要的是获取去重后的结果,查询官网资料和各位大神的经验后,总结一下elasticsearch去重查询功能。 2、Elasticsearch去重功能 关系型数据库中,比如MySQL,可以通过distinct进行去重,一般分为两种: 1 ) 统计去重后的数量 select distinct(count(1)) from test; 2 )...

jacklife的博客 8万+

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Elasticsearch-ES查询单字段去重

1.hits中total的总条数实际上是去重前的总条数,原数据条数,这里我们知道就行,分页中我们并不使用它。hits中数组的大小刚好等于courseAgg聚合的值,数组中的数据就是去重后的数据。结果:distinct_count = 3,说明去重后有3个,既aggregations聚合下,返回了按名字查询去重后的结果数,但是只有去重后的条数,没有具体的数据。2.aggregations中的courseAgg条数,这个才是去重后的实际条数,也是分页用的总条数。3.from 查询的偏移量,也就是从哪里开始查。

苍煜 4022

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

elasticsearch 去重查询并进行分页

去重查询的俩种方式: 在进行去重查询时,原来的目的是对于查询出的结果中一模一样的数据进行去重,但是各种百度发现都是对于单一字段的去重查询,最后索性新增了一个字段,将其他字段拼接了起来,从而根据拼接的字段进行去重查询 1.使用字段聚合+top_hits聚合方式 dsl: GET sjck_personnel/_search { "size": 0, "aggs": { "query_agg": { "terms": { "field": "concat_field

种一颗十年前的树 6003

elasticsearch查询,根据,某一个字段去重

1、实现查询去重、分页 2、实现根据aifile.oid去重,create_time排序 方式一:使用聚合 DSL源码: GET /aipage/_search { "query": { "match": { "status": 0 } }, "sort": [ { "create_time": { "order": "...

chenxi004的博客 1万+

elasticsearch查询去重

实现查询去重、分页 例如:实现依据qid去重,createTime排序 DSL: GET /nb_luban_answer/_search { "query": { "match": { "status": 1 } }, "sort": [ { "createTime": { "order": "desc"

a422100210的专栏 4万+

ElasticSearch多字段查询去重过滤详解

ElasticSearch多字段查询去重过滤详解

IT之一小佬的博客 8499

ElasticSearch单字段查询去重详解

ElasticSearch单字段查询去重详解

IT之一小佬的博客 9487

elasticsearch使用collapse对内容去重

使用cardinality去重统计 一般我们在使用elasticsearch进行去重是通过在聚合里使用cardinality对统计结果的去重,比如有个字段“one_account.one_account_no”,有两个文档的“one_account.one_account_no”值都是111,那么对“uid“”去重后结果是2。 dsl语句: POST user_onoffline_log/_search { "query": { "match_all": {} }, "size": 0,

西凉的悲伤博客 1万+

【elasticsearch】ES去重查询实现

2)cardinality基数计算去重后数量 (采用hyperloglog实现,hyperloglog一种近似计算)会有误差,去重实现原理: 采用es 的Collapse折叠+cardinality基数计算 实现去重。1)Collapse折叠只支持一个字段去重,且字段必须是 keyword。3) 不支持search_after 和 scroll,有深度分页问题。1、优点:简单快速效率高,几乎无性能损耗(相比于分桶去重)将多个字段组合成 一个字段然后去重。多个字段组合成一个字段有3种方案。

qq_31286957的博客 9085

elasticsearch中如何实现dinstinct去重功能

elasticsearch中如何实现dinstinct去重功能

弹指天下 9718
上一篇: mybatisplus分页单页pageSize最大设置
下一篇: Elasticsearch7.X ILM索引生命周期管理(冷热分离)
nddjava
博客等级 码龄16年 15粉丝 121原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值