SpringCloud整合ElasticSearch搜索使用

ops/2024/10/21 9:52:45/

环境说明

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/ops/7461.html

相关文章

Expiring 3623 record(s) for 2:xxx ms has passed since batch

Expiring 3623 record(s) for 2:xxx ms has passed since batch 报错大意为&#xff1a;生产发送批次已经创建&#xff0c;但是已经过去120000ms&#xff0c;仍然没有发送&#xff0c;消息过期 (当kafka服务器磁盘空间不足时&#xff0c;也会报此错误。清空磁盘空间&#xff0…

微信小程序之console.log()使用

console.log() 是 JavaScript 中的标准内置函数&#xff0c;主要用于在浏览器的控制台&#xff08;Console&#xff09;中输出信息&#xff0c;帮助开发者进行调试和跟踪代码运行状态。以下是一些基本和进阶的使用方法&#xff1a; 1、基础使用方法&#xff1a; console.log(…

设计模式-命令模式

命令模式 命令模式是一种行为设计模式&#xff0c;它可将请求转换为一个包含与请求相关的所有信息的独立对象。该转换能根据不同的请求将方法参数化、延迟请求执行或将其放入队列中&#xff0c;且能实现可撤销操作。 Hystrix是Netflix开源的一款容错框架&#xff0c;具有自我…

Kafka -基本概念

认识Kafka kafka是一个多分区、多副本、基于zookeeper协调的分布式消息系统。 扮演角色 消息系统存储系统&#xff1a;把消息持久化到磁盘&#xff0c;相比于其他基于内存存储的系统而言&#xff0c;有效降低了数据丢失的风险。流式处理平台 基本概念 kafka的体系结构&…

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

XiaodiSec day025 Learn Note 小迪渗透学习笔记 记录得比较凌乱&#xff0c;不尽详细 day25 sql 注入 知识点 mysql 注入 mssql 注入 postgreSQL 注入 详细点&#xff1a; access 无高权限注入点&#xff0c;智能暴力猜解&#xff0c;不像 mysql 中的 schema mysql,postgr…

常见经典目标检测算法

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

软考中级工程师网络技术第二节网络体系结构

OSPF将路由器连接的物理网络划分为以下4种类型&#xff0c;以太网属于&#xff08;25&#xff09;&#xff0c;X.25分组交换网属于&#xff08;非广播多址网络NBMA&#xff09;。 A 点对点网络 B 广播多址网络 C 点到多点网络 D 非广播多址网络 试题答案 正确答案&#xff1a; …

【Delphi 爬虫库 2】使用封装好的 JSON 解析库对 JSON 数据进行解析

当我们使用GET或POST方法获取到JSON数据时&#xff0c;我们需要对其进行解析。倘若我们使用现有的JSON解析库&#xff0c;这一过程将变得异常简单。在前文中&#xff0c;我们获得了一个翻译结果的JSON数据&#xff0c;具体如下所示 {“sessionUuid”:“translate_uuid171308666…