Easy-Es 是一个基于 Elasticsearch 的轻量级、高性能的 ORM(对象关系映射)框架,专为简化 Elasticsearch 的操作而设计。它的灵感来源于 MyBatis-Plus,提供了类似的链式编程、注解配置和自动 CRUD 功能,让开发者能够以更简单、更高效的方式操作 Elasticsearch。官网
特点:
xml <!-- 引入easy-es最新版本的依赖-->
<dependency>
<groupId>org.dromara.easy-es</groupId>
<artifactId>easy-es-boot-starter</artifactId>
<!--这里Latest Version是指最新版本的依赖,比如3.0.0,可以通过下面的图片获取-->
<version>${Latest Version}</version>
</dependency>
<!-- 如果有依赖冲突,导致底层es相关依赖非7.17.28,需要参考避坑指南章节文档先排除springboot中内置的es依赖-->
ymleasy-es:
compatible: true # 兼容模式开关,默认为false,若您的es客户端版本小于8.x,务必设置为true才可正常使用,8.x及以上则可忽略此项配置
enable: true #默认为true,若为false则认为不启用本框架
address : 127.0.0.1:9200 # es的连接地址,必须含端口 若为集群,则可以用逗号隔开 例如:127.0.0.1:9200,127.0.0.2:9200
username: elastic #若无 则可省略此行配置
password: WG7WVmuNMtM4GwNYkyWH #若无 则可省略此行配置
扫描mapper路径
java@SpringBootApplication
@EsMapperScan("com.xpc.easyes.sample.mapper")
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
JAVA@Data
@IndexName
public class Document {
/**
* es中的唯一id
*/
private String id;
/**
* 文档标题
*/
private String title;
/**
* 文档内容
*/
private String content;
}
javapublic interface DocumentMapper extends BaseEsMapper<Document> {
}
java@RestController
public class TestController {
private final DocumentMapper documentMapper;
@GetMapping("/createIndex")
public Boolean createIndex() {
// 1.初始化-> 创建索引(相当于mysql中的表)
return documentMapper.createIndex();
}
@GetMapping("/insert")
public Integer insert() {
// 2.初始化-> 新增数据
Document document = new Document();
document.setTitle("test");
document.setContent("content");
return documentMapper.insert(document);
}
@GetMapping("/search")
public List<Document> search() {
// 3.查询出所有标题为test的文档列表
LambdaEsQueryWrapper<Document> wrapper = new LambdaEsQueryWrapper<>();
wrapper.eq(Document::getTitle, "test");
return documentMapper.selectList(wrapper);
}
}
本文作者:Weee
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!