SpringCloud整合ElasticSearch搜索使用

环境说明

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

快速开始

① 安装 ElasticSearch

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

② 微服务增加 easy-es 依赖

xml 复制代码
<dependency>
    <groupId>org.dromara.easy-es</groupId>
    <artifactId>easy-es-boot-starter</artifactId>
    <version>2.0.0-beta4</version>
</dependency>

③ 配置文件增加链接配置

yaml 复制代码
spring:
  elasticsearch:
    uris: 127.0.0.1:9200
easy-es:
  address: ${spring.elasticsearch.uris}

示例代码编写

① 创建索引实体

java 复制代码
@Data
@IndexName("document")
public class Document {

	/**
	 * es中的唯一id
	 */
	private String id;

	/**
	 * 文档标题
	 */
	private String title;

	/**
	 * 文档内容
	 */
	private String content;
}

② 创建查询 mapper

java 复制代码
public interface DocumentMapper extends BaseEsMapper<Document> {
}

③ SpringBoot 配置扫描 EsMapper 实现

java 复制代码
@EsMapperScan("com.pig4cloud.pigx.es.mapper")

④ API 调用

java 复制代码
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 独有的功能,助力您快速实现各种场景的开发。

相关推荐
i***58671 小时前
springcloud springboot nacos版本对应
spring boot·spring·spring cloud
q***16082 小时前
SpringCloud 系列教程:微服务的未来(二)Mybatis-Plus的条件构造器、自定义SQL、Service接口基本用法
spring cloud·微服务·mybatis
star_11123 小时前
Jenkins部署后端springboot微服务项目
spring boot·微服务·jenkins
乐韵天城5 小时前
SpringBoot3.x下如何使用es进行数据查询
elasticsearch
放学有种别跑、8 小时前
GIT使用指南
大数据·linux·git·elasticsearch
越努力越幸运50810 小时前
git工具的学习
大数据·elasticsearch·搜索引擎
不会写程序的未来程序员10 小时前
详细的 Git 操作分步指南
大数据·git·elasticsearch
小坏讲微服务10 小时前
Spring Cloud Alibaba 整合 Scala 教程完整使用
java·开发语言·分布式·spring cloud·sentinel·scala·后端开发
武子康10 小时前
大数据-167 ELK Elastic Stack(ELK) 实战:架构要点、索引与排错清单
大数据·后端·elasticsearch
20岁30年经验的码农11 小时前
Java Elasticsearch 实战指南
java·开发语言·elasticsearch