elasticsearch中对于空字符串""的过滤操作

## 在项目的一个需求中,需要对ELK中的数据进行聚合统计的操作,这里因为是用Java进行开发,所以需要涉及到相应的api的使用。因为之前从来没碰过ELK之类的环境,刚拿到这个问题的时候自己还是有点懵逼的,但是既然到了自己的手上,就得硬着头皮去搞搞看。
在参照了ElasticSearch的官方文档之后和借鉴了一些其他的博文之后,就开始动手先自己试试看了。首先对于数据的聚合,得先处理一些无效的值,比如文档中的一些空字符串的值,这些值查出来去统计的意义不太,反而还会影响统计的准确性。

这里就直接列出一些主要的操作: 当然作为开发来说 环境都是搭建好的,所以这里就不涉及到环境方面的问题了。
举个栗子: 比如我要聚合的数据中的test字段中有一些“”(空的字符串)的数据,那么我先对其进行过滤处理,想要在聚合之前先把空的字符串给过滤掉。这里可以先构建查询条件,即查询的数据中要包含test这个字段,但是test字段的数据不能为空字符串。

BoolQueryBuilder boolQueryBuilder= QueryBuilders.boolQuery()
					.must(QueryBuilders.existsQuery("test"))
					.mustNot(QueryBuilders.termQuery("test", ""));
					
接下来 就是将构造好的查询条件加入到我们的聚合中。
AggregationBuilder aggregationBuilder = null;
aggregationBuilder = AggregationBuilders.filters("test",boolQueryBuilder);

下面还可以拼接其他的聚合条件,这里只列出了简单的一个字段的处理,读者可以根据自己的情况对数据进行其他的处理。

溜了溜了…

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值