- 基于ElasticSearch7.3.2版本的通用搜索系统
- 使用rest-high-level-client操作ES
- 封装常用api,包含索引的CRUD、文档的CRUD、索引定制化、模糊搜索、精准匹配搜索
- 是一套操作简单的搜索系统脚手架,稍加修改即可在项目中快速搭建起搜索系统
- TransportClient 存在并发瓶颈
- rest-client 版本较低无法支持新特性
- SpringBoot的Es模板ElasticsearchRepository更新较慢,不支持高版本的ES
git clone
按需复制到自己的项目里即可
组件 | Version |
---|---|
Elasticsearch | 7.3.2 |
Elasticsearch-rest-high-level-client | 7.3.2 |
Fastjson | 1.2.60 |
SpringBoot | 2.1.0.RELEASE |
├── src
│ ├── main
│ ├── java
│ │ └── com
│ │ └── anqi
│ │ └── es
│ │ ├── DemoEsApplication.java
│ │ ├── Main.java
│ │ ├── client
│ │ │ └── ESClientConfig.java 老版本RestClient封装,这里不会使用
│ │ ├── controller
│ │ │ └── EsController.java 搜索测试接口
│ │ ├── highclient
│ │ │ ├── RestHighLevelClientConfig.java Client配置
│ │ │ └── RestHighLevelClientService.java 搜索API
│ │ └── util
│ │ └── SnowflakeIdWorker.java Twitter的雪花算法用来生成文档id
│ └── resources
│ ├── application.properties
│ ├── static
│ └── templates
├── pom.xml