安装
此文档仅个人情况记录
镜像已经下载好后 下载:docker search 搜索 / docker pull 拉取
运行 映射本地文件 目录替换自己的 分词器也是提前下好的 版本目前用的7.7.1
docker run -v /Users/zhangjunqi/Desktop/elasticsearch:/usr/share/elasticearch/config/elasticsearch.yml -v /Users/zhangjunqi/Desktop/elasticsearch-analysis-ik-7.7.1:/usr/share/elasticsearch/plugins/ik -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" 830a894845e3
根据自己情况更改 elasticsearch.yml 文件的配置 重启容器
docker restart elasticsearch
Springboot api
安装依赖
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-elasticsearch</artifactId>
<version>4.0.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch</artifactId>
<version>7.7.1</version>
</dependency>
es的数据 在springboot内使用了yml的方式配置
读取方式
// 获取所有表名 ResourcePatternResolver 解析资源目录下文件
ResourcePatternResolver resourcePatternResolver = new PathMatchingResourcePatternResolver();
Resource[] resources = resourcePatternResolver.getResources("classpath:/esIndex/*");
然后循环resources得到所有的需要的表名进行后续操作
String indexName = es_name_prefix + r.getFilename().split("\\.")[0];
操作流程大致是 判断表是否存在 不存在的话就根据user.yml内配置进行创建 通过 @PostConstruct 启动项目时执行 init() 自动建好表