本文介绍基于Docker部署Elastic,并基于SpringBoot进行开发。
1. 源码
地址:https://github.com/tyrival/SpringBoot-Dubbo-Sample
2. Elasticsearch
2.1 准备
- 创建目录
~/Documents/Workspace/Docker/Elastic
,其中创建config、data、plugins三个文件夹,分别用来储存配置文件、数据、插件 - 在config文件夹中创建配置文件elasticsearch.yml,只需要配置一个参数
1 | network.host: 0.0.0.0 |
- elasticsearch.yml基本配置参数
1 | cluster.name: elasticsearch |
2.2 容器部署
2.2.1 创建容器
1 | # -e "cluster.name=elasticsearch" 集群名称,相同名称的节点会进入同一集群 |
2.2.2 安装插件
1 | ### 进入容器 |
2.2.3 常用命令
Elasticsearch是通过http请求进行操作的,常用指令如下
1 | ###### Elasticsearch6.x 对content-type验证采用了严格模式,不加--header会报错 |
2.3 开发
2.3.1 模块
与solr类似,创建模块,创建相应的接口、配置文件等。
2.3.2 pom.xml
参考solr模块的pom.xml,区别在于依赖如下
1 | <dependencies> |
2.3.3 application.properties
配置文件与solr类似,区别在于把solr的配置项换成elastic的
1 | ## Elastic |
2.3.4 ArticleRepository.java
ArticleRepository相当于通常意义上的DAO层,用来与数据库直接进行交互
1 | import com.tyrival.entity.article.Article; |
2.3.5 ArticleServiceImpl.java
Service层直接调用articleRepository进行数据的操作,并将服务注册到Zookeeper
1 | import com.alibaba.dubbo.config.annotation.Service; |