## 在项目的一个需求中,需要对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);

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

溜了溜了…

elasticsearch中对于空字符串的过滤操作相关推荐

  1. 使用C#删除一个字符串数组中的空字符串

    C#中要如何才能删除一个字符串数组中的空字符串呢?随着微软对C#不断发展和更新,C#中对于数组操作的方式也变得越来越多样化.以往要实现过滤数组中的空字符串,都是需要实行循环的方式来排除和过滤.C#3. ...

  2. hive 判断子字符串_Java中检查空字符串(null或空白)的方法有几种?

    说明: 本文为牛旦教育原创,头条首发,转发须注明来源和原文网址. 1.摘要 在本文中,我们将介绍些方法检查Java中的空字符串(空的或空白符串).我们有些语言的原生方法以及几个库可用. 2.空与空白( ...

  3. 在 Java 中检查空字符串或空白字符串

    1. 简介 在本教程中,我们将讨论一些在 Java 中检查空字符串或空白字符串的方法.有一些母语方法,以及几个库. 2. 空与空白 当然,知道字符串何时为空或空白是很常见的,但让我们确保我们的定义在同 ...

  4. JavaScript - 移除数组中的空字符串元素

    移除数组中的空字符串元素 使用 filter 方法对数组进行拷贝,删除空字符串元素,保留其他元素(第 22 ~ 24 行): <!DOCTYPE html> <html>< ...

  5. Oracle中对空字符串的判断

    目录 1.在Oracle中,将长度为零的字符值视为NULL 2.在PL/SQL中判断空字符串 2.1 使用nvl函数空值处理 2.2 使用is not null改写 写在最前面:在Oracle 11g ...

  6. [翻译]ElasticSearch官方文档-执行查询和过滤操作

    本文翻译自:www.elastic.co/guide/en/el- 本文是Elasticsearch的入门文档,将会介绍ElasticSearch中的查询操作和过滤操作. 执行查询 现在我们已经看到了 ...

  7. java list 去空字符串_从字符串列表中删除空字符串

    我想从python中的字符串列表中删除所有空字符串. 我的想法如下: while '' in str_list: str_list.remove('') 有没有更多的Python方式可以做到这一点? ...

  8. Python去除list中的空字符串

    方法一: a = ['\n ', '1', ' ','Tuesday, May 05, 2020','\n'] 我们需要将这个列表,中间有'\n ', ' ','\n',这些都是我们不需要的,需要将其 ...

  9. mysql设置字段为空字符串_NULL默认为mysql中的空字符串?

    我有一个奇怪的情况,一个字段不允许NULL值.如果我插入一行,该字段默认为空字符串,即使mysql声称默认值为NULL. mysql> describe user; +------------- ...

最新文章

  1. 《OpenMP编译原理及实现技术》摘录
  2. React-Native 使用真机和指定模拟器调试
  3. BZOJ4373: 算术天才⑨与等差数列
  4. Request_共享数据(域对象)
  5. 读取Webpage表中的内容
  6. 智慧“昆明”在路上 未来充满精彩
  7. 前端学习(2386):远程仓库的issue
  8. 一个小白的转行Python的经历!
  9. php 设置cors,php – 启用cors在.htaccess
  10. 开关电源适配器原理_迅为i.MX6ULL开发板原理图分析介绍
  11. vector实现 并交差 集实例
  12. visio流程图添加连接点
  13. OpenCV蒙版的使用实例(1)
  14. 获取百度关键词联想API
  15. 装饰工程预结算教程电子书_干货集 | 栏杆百叶工程预结算总结
  16. vue的过渡动画(有vue的动画库和ui库的介绍)
  17. c++课程设计之贪食蛇
  18. 什么是Https、数字签名、数字证书
  19. TI-RTOS之初体验(1)
  20. SQL——数据定义DDL

热门文章

  1. html5绘制矩形动画,HTML5 Canvas中绘制矩形实例
  2. 将js中Ajax设置为同步请求
  3. web.py应用工具库:webpyext
  4. python爬取网站源代码+图片
  5. VS2015 scanf 函数报错 error C4996: 'scanf'
  6. java打印标签(机型TOSHIBA条码打印机B-EX4T)
  7. 单片机的智能垃圾桶设计
  8. Python 程序示例 - 初学者的简单代码示例
  9. Python基础教程(第3版)读书笔记:第3章 使用字符串
  10. windows redis cmd 命令启动