Es简单条件查询
一:先看一下es的语句以及查询结果:
我这边使用的条件是is_device要么是工控要么是资产
二:java代码部分
关于es的操作,java里面不需要添加mapper层,只要在service以及controller层里面操作就OK了
1:在service里面添加接口
1 //首页的工控资产详情在es里面查询结果
2 List<Object> getBaseCurrencyByEs();
2:在实现类里面实现逻辑以及步骤,es查询基本就那7步
1 @Override
2 public List<Object> getBaseCurrencyByEs() {
3 //存放最终数据
4 ArrayList<Object> list = new ArrayList<>();
5 //1.创建搜索请求对象
6 SearchRequest searchRequest = new SearchRequest("mid_assets_shanxi").types("mid_assets_shanxi");
7 //2.设置搜索源配置
8 SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
9 //3.构建QueryBuilder对象指定查询方式和查询条件
10 QueryBuilder queryBuilder = QueryBuilders.termQuery("is_device.keyword", "通用设备");
11 //4,将QuseryBuilder对象设置到SearchSourceBuilder对象中
12 searchSourceBuilder.query(queryBuilder);
13 //5,将SearchSourceBuilder设置到SearchRequest中
14 searchRequest.source(searchSourceBuilder);
15 try {
16 //6,调用方法查询数据
17 SearchResponse searchResponse = restHighLevelClient.search(searchRequest);
18 System.err.println("es语句:" + searchRequest);
19 //7,解析返回结果
20 SearchHits hits = searchResponse.getHits();
21 //得到数据
22 SearchHit[] searchHits = hits.getHits();
23 for (SearchHit hit : searchHits){
24 Map<String, Object> result = hit.getSourceAsMap();
25 list.add(result);
26 }
27 } catch (IOException e) {
28 e.printStackTrace();
29 }
30 return list;
31 }
3:在controller层里面调用接口
1 @GetMapping("getBaseCurrencyByEs")
2 @ApiOperation("通用资产详情的数据")
3 public Result getBaseCurrencyByEs(){
4 List<Object> baseIndustrial=bigscreenStatisticsAllService.getBaseCurrencyByEs();
5 return Result.ok(baseIndustrial);
6 }
三:测试接口是否查询到了数据:
Es简单条件查询的更多相关文章
- mysql常用基础操作语法(五)--对数据的简单条件查询【命令行模式】
1.单条件查询:select 字段名 from tablename where 条件: 2.简单多条件查询,使用&&或者between and等: 3.is null和is not n ...
- MySQL数据库6 -查询基础,简单查询,条件查询,对查询结果排序
一.SELECT语句 SELECT COL1,COL2,....COLn FROM TABLE1,TABLE2,....TABLEn [WHERE CONDITIONS] -- 查询条件 [GROUP ...
- MySQL数据库—查询基础,简单查询,条件查询,对查询结果排序
一.SELECT语句 SELECT COL1,COL2,....COLn FROM TABLE1,TABLE2,....TABLEn [WHERE CONDITIONS] -- 查询条件 [GROUP ...
- SpringData 简单的条件查询
今天在写springdata条件查询时,JpaRepository的findOne方法,不知道是因为版本的原因还是其他原因,总是查询不出来数据 //springdata jpa版本为1.5.15,配置 ...
- es实战之查询大量数据
背景 项目中已提供海量日志数据的多维实时查询,客户提出新需求:将数据导出. 将数据导出分两步: 查询大量数据 将数据生成文件并下载 本文主要探讨第一步,在es中查询大量数据或者说查询大数据集. es支 ...
- Rafy 中的 Linq 查询支持(根据聚合子条件查询聚合父)
为了提高开发者的易用性,Rafy 领域实体框架在很早开始就已经支持使用 Linq 语法来查询实体了.但是只支持了一些简单的.常用的条件查询,支持的力度很有限.特别是遇到对聚合对象的查询时,就不能再使用 ...
- EntityFramework动态多条件查询与Lambda表达式树
在常规的信息系统中, 我们有需要动态多条件查询的情况, 例如UI上有多个选择项可供用户选择多条件查询数据. 那么在.net平台Entity Framework下, 我们用Lambd ...
- 条件查询N多的情况下,回显解决方法。
条件查询每个web程序员一定都写过,关于条件回显值页面的思路很简单,将页面的值传到后台,放置request作用域,然后回显至页面. 如果几个条件还好些,如果是下面这种情况呢? 如果条件像以上情况N多情 ...
- 基于Solr的HBase多条件查询测试
背景: 某电信项目中采用HBase来存储用户终端明细数据,供前台页面即时查询.HBase无可置疑拥有其优势,但其本身只对rowkey支持毫秒级 的快 速检索,对于多字段的组合查询却无能为力.针对HBa ...
- 【JPA】表达条件查询的关键字
1.通过解析方法名创建查询 框架在进行方法名解析时,会先把方法名多余的前缀截取掉,比如 find.findBy.read.readBy.get.getBy,然后对剩下部分进行解析.并且如果方法的最后一 ...
随机推荐
- ubuntu升级python版本
ubuntu升级python版本 # 更新包列表 sudo apt update # 安装 Python 所需的软件包 sudo apt install software-properties-com ...
- SQLSTATE[HY000] [2002] Connection refused报错 PHP连接docker容器中的mysql
Laradock 是基于 Docker 提供的完整 PHP 本地开发环境 在框架中连接 MySQL 时 报错 SQLSTATE[HY000] [2002] Connection refused 主要还 ...
- 微服务架构的守护者:Redisson 分布式锁与看门狗机制实战指南
1. 分布式锁简介 1.1 什么是分布式锁 在单机应用中,可以使用 Java 内置的锁机制(如 synchronized.ReentrantLock 等)来实现线程间的同步.但在分布式环境下,由于应用 ...
- 泛型--java进阶day10
1.泛型 2.泛型--统一数据类型 如下图,当我们在泛型中添加不同的数据类型,add方法需要的数据类型也随之改变 [1] [2] 泛型--默认类型object 当我们不指定泛型时,泛型的默认类型为ob ...
- FireDAC的数据库的FDConnect
通常,我们设置一个ini文件,按照FDConnection的ini格式要求配置好.然后直接调用通知连接数据库是否OK. FireDAC可以通过FDManager管理ini文件简单实现.即由FDConn ...
- FDConnection lost后的处理right here
- Java并发编程实战-多线程任务执行
Executor框架与线程池(ThreadPoolExecutor) Executor框架的组成 组件 作用 Executor 基础接口,仅定义execute(Runnable)方法,用于执行任务. ...
- Spring AI与DeepSeek实战四:系统API调用
一.概述 在 AI 应用开发中,工具调用 Tool Calling 是增强大模型能力的核心技术.通过让模型与外部 API 或工具交互,可实现 实时信息检索(如天气查询.新闻获取).系统操作(如创建任务 ...
- Web前端入门第 34 问:CSS 常见布局
Web 网页中,所有元素都是盒模型构成的,一个大盒子套一个或者多个小盒子,再用更大的盒子把大盒子给圈起来,这就构成了基本的 HTML 结构,再利用 CSS 把盒子装修得好看一些,最后把它放在正确位置, ...
- 一步到位js/javascript对象和querystring查询字符串互转(get/url参数)
当然,这个问题又很多解决方式,这里说一种最简洁的方式: 对象转querystring查询字符串(get/url参数) 我看网上的方法都比较繁琐,其实可以直接使用js的URLSearchParams对象 ...