哎,编程路漫漫,一坑又一坑,爬完还会掉,何时是尽头!

今朝有酒今朝醉,程序不对不敢睡!

还是接口昂,今天还是接口有问题,我是很菜,很笨,但是我还是要努力!!

正文:

接口需求是这样的,根据车型查询在线车辆数与总数.哼,挺简单吧,我也觉得简单,But,太菜了。

这块查es,首先要获取到客户端

SearchRequestBuilder requestBuilder = transportClient.prepareSearch("索引名称").setTypes("type名称");//这里是要用到一个聚合查询 直接贴代码了,我也还有些不懂的,先记录下来再说
TermsAggregationBuilder termsBuilder = AggregationBuilders.terms("vehicleTypeCount").field("vehicleType");requestBuilder.addAggregation(termsBuilder);SearchResponse response = requestBuilder.execute().actionGet();
//得到这个分组的集合Terms terms = response.getAggregations().get("vehicleTypeCount");
String id = null;Long count = 0l;List<Object> list = new ArrayList<>();HashMap<String, Object> map = new HashMap<>();for (int i = 0; i < terms.getBuckets().size(); i++) {//这里的id就是我们查的列名    id = terms.getBuckets().get(i).getKey().toString();//count自然就是总量啦    count = terms.getBuckets().get(i).getDocCount();//实际开发中,有时候写代码写蒙了,定义这个map直接map.put(id,count)就完事了,但是实际上map中只会有一条数据,也就是一组kv,然后我是将它组成一个map时放入一个list//其实我也不想这样,感觉这样也不太对,但有时候为了出任务,就不探究根部了,有看了帖子的大佬们如果可以,教我一下哈。(起始id和count每次都代替的是不同的值,但是就是只会有一条数据,难道是jvm只看到了表面字符id,count?)    map.put(id, count);    list.add(map);}

这样输出的结果是:
"typeCount": {"1231": 1,"b": 1}其中123,b就是车型啦,后面的自然就是总数。

转载于:https://www.cnblogs.com/shuaidong/p/11011848.html

用java分组查elasticsearch相关推荐

  1. Java基础查漏补缺(2)

    Java基础查漏补缺(2) apache和spring都提供了BeanUtils的深度拷贝工具包 +=具有隐形的强制转换 object类的equals()方法容易抛出空指针异常 String a=nu ...

  2. 无限极分类JAVA 实现—查子孙树、家谱树

    无限极分类JAVA  实现-查子孙树.家谱树 效果展示: import java.util.*;public class Test {List<HashMap<String, Object ...

  3. java代码删除ElasticSearch索引

    用java代码删除ElasticSearch索引 public class ElasticsearchDeleteIndexTest {public static void main(String[] ...

  4. java怎么使用elasticsearch全文检索

    使用Java API可以使用Elasticsearch进行全文检索.Java API提供了一个客户端,可以用来发送和接收请求,从而实现与Elasticsearch集群的交互.可以使用Java API实 ...

  5. java实现sug,Elasticsearch搜索Suggest功能优化

    搜索Suggest需要优化问题: 怎么优化Suggest词库,提升Suggest词准确率 怎么提高响应速度 suggest词库获取 冷启动可以从内容中提取热词数据来解决,或者人工设置 挖掘搜索日志: ...

  6. JAVA框架09 -- Elasticsearch

    Elasticsearch介绍和安装 用户访问我们的首页,一般都会直接搜索来寻找自己想要购买的商品. 而商品的数量非常多,而且分类繁杂.如果能正确的显示出用户想要的商品,并进行合理的过滤,尽快促成交易 ...

  7. java中addrange_java elasticsearch 桶聚合(bucket)

    Elasticsearch桶聚合,目的就是数据分组,先将数据按指定的条件分成多个组,然后对每一个组进行统计. 不了解Elasticsearch桶聚合概念,可以先学习下Elasticsearch桶聚合教 ...

  8. java如何使用elasticsearch

    2019独角兽企业重金招聘Python工程师标准>>> 1. 安装elasticsearch(pom.xml 版本为6.0.1) 2. 使用java与elasticsearch建立连 ...

  9. java用tkmapper分组查询_mybatis example group by count 分组求和 - java分组求和

    一.简单说明 本以为mybatis的example可以搞定group by,后面看到说不行 于是曲线救国,直接查出一个list,然后再用java对数据进行操作 不过话说回来,这样写是比写sql麻烦一点 ...

最新文章

  1. 06JavaScript中的流程控制之循环结构
  2. harmonyos能否移植到MCU,HarmonyOS(LiteOs_m) 官方例程移植到STM32初体验
  3. 信息学奥赛C++语言: 求正整数2和n之间的完全数
  4. 开发基于深度学习的人脸识别【考勤/签到】系统
  5. 三星Galaxy Note10系列带壳渲染图曝光:将取消3.5mm耳机孔
  6. php处理post表单数据,php – Httpful post表单数据
  7. 在pfSense下设置GoDaddy动态DNS API记录
  8. 从Exchange 通往Office 365系列(五)部署MailBox服务器
  9. python socket tcp实战_Python socket.TCP_MAXSEG属性代码示例
  10. stat---文件状态信息结构体
  11. PhotoShop 各历史版本,你最熟悉哪版?
  12. sign签名算法一致算法-.net、java、golang
  13. vue实现拍照人脸识别功能带人脸选中框
  14. js特效--移动的广告窗
  15. 自动化测试面试题整理出炉附答案,建议收藏
  16. win10电脑玩红警老是卡死怎么办?win10电脑玩红警老是卡死解决方法
  17. JS中apply与call的用法
  18. 特性(Attributes)
  19. OneDrive登录失败
  20. 阿里云 ECS 云计算训练营 Day2:搭建简历网站

热门文章

  1. 系统开发小结【未完待续】
  2. Android JNI(Java Native Interface)技术介绍
  3. Android 简单实现订单模块类APP的物流详情页
  4. 基于栈和基于寄存器的Java虚拟机
  5. Android 自定义Adapter以实现自定义填充ListView的Item
  6. jdbc连接Oracle/MySQL数据库进行批量导入操作,如何提高效率???
  7. TensorFlow Lite学习笔记
  8. Java 并发编程—有锁互斥机制及AQS理论
  9. Python定义点击右上角关闭按钮事件
  10. SpringBoot不支持webapp的解决办法