[toc]
博客项目集成了ES7.7.1;但是本地启动项目的时候,每次还需要启动es,觉着有点麻烦,故希望可以改成可配置是否启动等;
把一些常用的功能集成起来,既方便使用,也方便后续统一扩展
在parent项目中已经管理es的版本,在当前项目只需要引入即可
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-high-level-client</artifactId>
</dependency>
<elasticsearch.version>7.7.1</elasticsearch.version><!-- 重新定义es的版本依赖 start --><dependency><groupId>org.elasticsearch.client</groupId><artifactId>elasticsearch-rest-high-level-client</artifactId><version>${elasticsearch.version}</version></dependency><dependency><groupId>org.elasticsearch</groupId><artifactId>elasticsearch</artifactId><version>${elasticsearch.version}</version></dependency><dependency><groupId>org.elasticsearch.client</groupId><artifactId>elasticsearch-rest-client</artifactId><version>${elasticsearch.version}</version></dependency><!-- 重新定义es的版本依赖 start -->
# 是否开启es starter 默认truees.enabled=true# 超时时间 默认5分钟5 * 60 * 1000es.timeout=3000000#scheme 默认httpes.scheme=http## es的地址列表,默认会配置一个127.0.0.1:9200es.address[0].ip=127.0.0.1es.address[0].port=9200## index列表, 会在启动项目的时候检测是否存在, 不存在则创建#index namees.indexes[0].name=indexName#别名 不配置 则根据名称+_aliases.indexes[0].alias=indexNamealias# 分片数 默认3es.indexes[0].shards=3#备份数 默认0es.indexes[0].replicas=0# 分词器 默认 ik_max_wordes.indexes[0].analyzer=ik_max_word### index的mapping配置,field:字段; type:类型es.indexes[0].properties[0].field=titlees.indexes[0].properties[0].type=textes.indexes[0].properties[1].field=ides.indexes[0].properties[1].type=keyword
es:address:- ip: 127.0.0.1port: 9200enabled: trueindexes:- alias: indexNamealiasanalyzer: ik_max_wordname: indexNameproperties:- field: titletype: text- field: idtype: keywordreplicas: 0shards: 3scheme: httptimeout: 3000000
详情参见代码
本文非介绍如何构建springboot-starter
只大体记录了当前实现的部分功能,如果感兴趣可以查看源码,相互交流。
2020年9月11日 许秋冬