weshadow / all-search

🚀🚀【搜索系统】基于ElasticSearch7.3.2、RestHighLevelClient、SpringBoot搭建的通用搜索系统脚手架,帮助开发者快速搭建搜索系统。

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

博客 版本 公众号

简介

  • 基于ElasticSearch7.3.2版本的通用搜索系统
  • 使用rest-high-level-client操作ES
  • 封装常用api,包含索引的CRUD、文档的CRUD、索引定制化、模糊搜索、精准匹配搜索
  • 是一套操作简单的搜索系统脚手架,稍加修改即可在项目中快速搭建起搜索系统

使用rest-high-level-client整合Es的原因

  • 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

About

🚀🚀【搜索系统】基于ElasticSearch7.3.2、RestHighLevelClient、SpringBoot搭建的通用搜索系统脚手架,帮助开发者快速搭建搜索系统。


Languages

Language:Java 100.0%