springboot集成es 插入和查询的简单使用

第一步:引入依赖

        <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-elasticsearch</artifactId><version>2.2.5.RELEASE</version></dependency>

第二步:配置yml文件,在spring下面加上这个

  elasticsearch:rest:# ip是服务器ip地址uris: http://127.0.0.1:9200

然后启动项目,看到出现这个就是成功了

第三步: 创建一个常量类,用于存储我们一会儿要用到的名称

public class OrderEs {public static final String INDEX_NAME = "order_index";public static final String ID = "id";public static final String ORDER_NO = "order_no";public static final String ORDER_BUYER = "order_buyer";public static final String ORDER_PHONE = "order_phone";public static final String REAL_PAY = "real_pay";public static final String ACCOUNT = "account";
}

第四步:创建Es实体类,注意要加上@Document注解

@Document(indexName = OrderEs.INDEX_NAME)
@Data
public class OrderEsPO {@Id@Field(type = FieldType.Keyword,name = OrderEs.ID)private String id;@Field(type = FieldType.Keyword,name = OrderEs.ORDER_NO)private String orderNo;@Field(type = FieldType.Keyword,name = OrderEs.ORDER_BUYER)private String orderBuyer;@Field(type = FieldType.Keyword,name = OrderEs.ORDER_PHONE)private String orderPhone;@Field(type = FieldType.Keyword,name = OrderEs.REAL_PAY)private String realPay;@Field(type = FieldType.Keyword,name = OrderEs.ACCOUNT)private String account;}

第五步:写测试接口,这里展示了插入和查询两个方法

@RestController
@RequestMapping("/order")
@CrossOrigin
public class OrderController @Resourceprivate ElasticsearchRestTemplate elasticsearchRestTemplate;/*** es插入** @return {@link String}*/@GetMapping("/esinsert")@Transactionalpublic String esInsert(){OrderEsPO orderEsPO = new OrderEsPO();orderEsPO.setOrderNo("1234455");orderEsPO.setOrderBuyer("张三");orderEsPO.setOrderPhone("13191892075");orderEsPO.setRealPay("100000");orderEsPO.setAccount("1008611");elasticsearchRestTemplate.save(orderEsPO);return "success";}/*** es搜索** @param orderEsPO 订单es参数* @return {@link String}*/@GetMapping("/essearch")@Transactionalpublic String esSearch(OrderEsPO orderEsPO){/**构造查询对象**/BoolQueryBuilder booleanQueryBuilder = QueryBuilders.boolQuery();/**编写查询条件**/booleanQueryBuilder.should(QueryBuilders.termQuery(OrderEs.ORDER_NO,orderEsPO.getOrderNo()));/**构造query对象**/NativeSearchQuery nativeSearchQuery = new NativeSearchQuery(booleanQueryBuilder);/**搜索**/SearchHits<OrderEsPO> search = elasticsearchRestTemplate.search(nativeSearchQuery, OrderEsPO.class, IndexCoordinates.of(OrderEs.INDEX_NAME));List<OrderEsPO> collect = search.getSearchHits().stream().map(SearchHit::getContent).collect(Collectors.toList());return collect.toString();}
}

然后我们启动项目,先调用插入接口,由于这个索引一开始是不存在的,第一次调用后会默认创建索引,然后打开我们的可视化界面,就能看到这里的索引

 再调用查询,就能看到如下信息了

 说明两个接口都能被调用成功,es的简单使用就完成了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/92504.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

万物流动 万物永驻 ——C++ Core Guidelines的流动哲学

众所周知&#xff0c;C 是一门自由的语言&#xff0c;语言的设计哲学之一就是赋予程序员极大的自由度和灵活性&#xff0c;因此&#xff0c;使用C 完成一个任务时&#xff0c;不同的程序员往往会有不同的实现方法&#xff0c;这真正阐释了什么叫条条大路通罗马。不过&#xff0…

说说FLINK细粒度滑动窗口如何处理

分析&回答 Flink的窗口机制是其底层核心之一&#xff0c;也是高效流处理的关键。Flink窗口分配的基类是WindowAssigner抽象类&#xff0c;下面的类图示出了Flink能够提供的所有窗口类型。 Flink窗口分为滚动&#xff08;tumbling&#xff09;、滑动&#xff08;sliding&am…

【C++入门】string类常用方法(万字详解)

目录 1.STL简介1.1什么是STL1.2STL的版本1.3STL的六大组件1.4STL的缺陷 2.string类的使用2.1C语言中的字符串2.2标准库中的string类2.3string类的常用接口说明 &#xff08;只讲解最常用的接口&#xff09;2.3.1string类对象的常见构造2.3.2 string类对象的容量操作2.3.3string…

gitHooks使用教程

1. 安装所需依赖 npm install eslint prettier husky lint-staged --save-dev 2.初始化 husky npx husky-init && npm install 这将创建一个 .husky/ 目录&#xff0c;并且在其中包含一个示例的 pre-commit 文件。 3.设置 pre-commit 钩子 npx husky add .husky/…

实录分享 | Alluxio在AI/ML场景下的应用

欢迎来到【微直播间】&#xff0c;2min纵览大咖观点 本次分享主要包括五个方面&#xff1a; 关于Alluxio&#xff1b;盘点企业在尝试AI时面临的挑战&#xff1b;Alluxio在技术栈中的位置&#xff1b;Alluxio在模型训练&模型上线场景的应用&#xff1b;效果对比&#xff1…

Nginx详解 三:高级配置

文章目录 1. 网页的状态页2. Nginx第三方模块2.1 echo模块 3. 变量3.1 内置变量3.1.1 示例 3.2 自定义变量3.2.1 自定义访问日志3.2.2 自定义json 格式日志 3.4 Nginx压缩功能 4. HTTPS4.1 Nginx的HTTPS工作原理4.2 启用功能模块的配置过程 5、自定义图标 1. 网页的状态页 基于…

时序预测 | MATLAB实现基于TSO-XGBoost金枪鱼算法优化XGBoost的时间序列预测(多指标评价)

时序预测 | MATLAB实现基于TSO-XGBoost金枪鱼算法优化XGBoost的时间序列预测(多指标评价) 目录 时序预测 | MATLAB实现基于TSO-XGBoost金枪鱼算法优化XGBoost的时间序列预测(多指标评价)预测效果基本介绍程序设计参考资料 预测效果 基本介绍 Matlab实现基于TSO-XGBoost金枪鱼算…

【Java集合学习1】ArrayList集合学习及集合概述分析

JavaArrayList集合学习及集合学习概述 一、Java集合概述 Java 集合&#xff0c; 也叫作容器&#xff0c;主要是由两大接口派生而来&#xff1a;一个是 Collection接口&#xff0c;主要用于存放单一元素&#xff1b;另一个是 Map 接口&#xff0c;主要用于存放键值对。对于Col…

大数据Flink(七十):SQL 动态表 连续查询

文章目录 SQL 动态表 & 连续查询 一、​​​​​​​SQL 应用于流处理的思路

【跟小嘉学 Rust 编程】二十、进阶扩展

系列文章目录 【跟小嘉学 Rust 编程】一、Rust 编程基础 【跟小嘉学 Rust 编程】二、Rust 包管理工具使用 【跟小嘉学 Rust 编程】三、Rust 的基本程序概念 【跟小嘉学 Rust 编程】四、理解 Rust 的所有权概念 【跟小嘉学 Rust 编程】五、使用结构体关联结构化数据 【跟小嘉学…

Cell | 超深度宏基因组!复原消失的肠道微生物

期刊&#xff1a;Cell IF&#xff1a;64.5 (Q1) 发表时间&#xff1a;2023.6 研究背景 不同的生活方式会影响微生物组组成&#xff0c;但目前微生物组的研究严重偏向于西方工业化人群&#xff0c;其中工业化人群的特点是微生物群多样性较低。为了理解工…

Apollo领航官送福利啦

⭐简单说两句⭐ 作者&#xff1a;后端小知识 CSDN个人主页&#xff1a;后端小知识 &#x1f50e;GZH&#xff1a;后端小知识 &#x1f389;欢迎关注&#x1f50e;点赞&#x1f44d;收藏⭐️留言&#x1f4dd; &#x1f388;✨百度apollo介绍 全球智能驾驶产业领跑者 起源 百度…