SpringCloud整合ElasticSearch搜索使用

embedded/2024/9/24 23:26:43/

环境说明

ORM:easy-es 2.0.0(opens new window)
ElasticSearch:7.14.0
pigx:5.2
请保持环境如上,ElasticSearch 兼容性较差无法保证其他版本正常整合执行。

快速开始
① 安装 ElasticSearch

docker run --name es714 -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -d elasticsearch:7.14.0

② 微服务增加 easy-es 依赖

<dependency><groupId>org.dromara.easy-es</groupId><artifactId>easy-es-boot-starter</artifactId><version>2.0.0-beta4</version>
</dependency>

③ 配置文件增加链接配置

spring:elasticsearch:uris: 127.0.0.1:9200
easy-es:address: ${spring.elasticsearch.uris}

示例代码编写
① 创建索引实体

@Data
@IndexName("document")
public class Document {/*** es中的唯一id*/private String id;/*** 文档标题*/private String title;/*** 文档内容*/private String content;
}

② 创建查询 mapper

public interface DocumentMapper extends BaseEsMapper<Document> {
}

③ SpringBoot 配置扫描 EsMapper 实现

@EsMapperScan("com.pig4cloud.pigx.es.mapper")

④ API 调用

public void testCreateIndex() {// 测试创建索引,框架会根据实体类及字段上加的自定义注解一键帮您生成索引。需要确保索引托管模式处于manual手动挡(默认处于此模式),若为自动挡则会冲突。boolean success = documentMapper.createIndex();
}public void testInsert() {// 测试插入数据Document document = new Document();document.setTitle("老汉");document.setContent("推*技术过硬");int successCount = documentMapper.insert(document);
}public void testSelect() {// 测试查询,写法和MP一样,可以用链式,也可以非链式,根据使用习惯灵活选择即可。String title = "老汉";Document document = EsWrappers.lambdaChainQuery(documentMapper).eq(Document::getTitle, title).one();System.out.println(document);
}

高级用法
Easy-Es(简称 EE)是一款基于 ElasticSearch(简称 Es)官方提供的 RestHighLevelClient 打造的 ORM 开发框架,在 RestHighLevelClient 的基础上,只做增强不做改变,为简化开发、提高效率而生。您如果有用过 Mybatis-Plus(简称 MP),那么您基本可以零学习成本直接上手 EE。EE 是 MP 的 Es 平替版,在有些方面甚至比 MP 更简单,同时也融入了更多 Es 独有的功能,助力您快速实现各种场景的开发。


http://www.ppmy.cn/embedded/7111.html

相关文章

Promise实现

Promise实现 const PENDING pending const FULFILLED fulfilled const REJECTED rejectedclass MPromise {FULFILLED_CALLBACK_LIST []REJECTED_CALLBACK_LIST []_status PENDINGconstructor(fn) {// 初始状态为pendingthis.status PENDINGthis.value nullthis.reason…

26版SPSS操作教程(高级教程第十一章)

前言 #俯仰之间&#xff0c;路在前方 #本期内容&#xff1a;多分类、配对Logistic回归与Probit回归模型 #由于导师最近布置了学习SPSS这款软件的任务&#xff0c;因此想来平台和大家一起交流下学习经验&#xff0c;这期推送内容接上一次高级教程第九章的学习笔记&#xff0c…

XiaodiSec day035 Learn Note 小迪渗透学习笔记

XiaodiSec day035 Learn Note 小迪渗透学习笔记 记录得比较凌乱&#xff0c;不尽详细 day35 前言 关于 xss 入门 xss 开始 是一个前端的漏洞 数据输入输出的地方容易产生 分类: 反射性存储型DOM 型很多很多 产生过程使用<script>alert(1)</script>弹个窗 …

【java】26:JUnit

为什么需要 JUnit&#xff1a; 1.一个类有很多功能代码需要测试&#xff0c;为了测试&#xff0c;就需要写入到main方法中 2.如果有多个功能代码测试&#xff0c;就需要来回注销&#xff0c;切换很麻烦……… 3.如果可以直接运行一个方法&#xff0c;就方便很多&#xff0c;并且…

数据可视化-ECharts Html项目实战(13)

在之前的文章中&#xff0c;我们深入学习ECharts动态主题切换和自定义ECharts主题。想了解的朋友可以查看这篇文章。同时&#xff0c;希望我的文章能帮助到你&#xff0c;如果觉得我的文章写的不错&#xff0c;请留下你宝贵的点赞&#xff0c;谢谢。 数据可视化-ECharts Html项…

uniapp 页面跳转通信上下级页面互传

第一种 //A页面跳转方法 xx(){uni.navigateTo({url: ./olylis-cascader/demo}); }, //A页面 用来回去B页面返回数据的方法 getValue(list){console.log(list,B页面传递的数据) } ---------------------------------------------------------- B页面 submit(){let pages getCu…

产品推荐 | 基于Anlogic系列EG4S20 FPGA开发板

1、产品概述 国产FPGA是最近几年起来的产品。ANLOGIC 是国产FPGA组织一成员&#xff0c;ANLOGIC芯片具有性价比高特点。高云FPGA&#xff0c;很多用户都用在LED&#xff0c;电机控制&#xff0c;PLC设备上&#xff0c;接口扩展。在国产化平台&#xff0c;Altera &#xff0c;L…

asp.net core 8.0 使用 Autofac ioc 容器 具体实例

要在ASP.NET Core 8.0项目中具体实现使用Autofac作为IOC容器&#xff0c;我们将遵循一个明确的示例&#xff0c;从创建新项目到配置Autofac&#xff0c;并演示如何注册和解析服务。 步骤 1: 创建ASP.NET Core 8.0项目 首先&#xff0c;使用Visual Studio或命令行工具创建一个…