java项目中有用到ElasticSearch,最近同步数据时,每隔一段时间就会报错,我这边搞前端的刚接手要维护,奈何springboot一套还没学下来,只能硬着头皮看看,研究一下,先本地参照服务器版本搭建一套。
版本环境问题
之前的项目是使用springboot 2.1 版本搭建的,应该是考虑到如果使用spring-boot-starter- 引入ElasticSearch的话,版本会比较老,参考下面
所以项目中是,单独引入的ElasticSearch相关依赖,
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-high-level-client</artifactId>
<version>6.8.23</version>
</dependency>
<dependency>
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch</artifactId>
<version>6.8.23</version>
</dependency>
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-client</artifactId>
<version>6.8.23</version>
</dependency>
本地本来装有elasticsearch不过版本是elasticsearch-7.17.5,运行起来报错最低支持jdk 11,为了后续兼容不能升级本地jdk,只能和生产保持统一,问了下生产服务器相关的elasticsearch版本。
Elasticsearch和Kibana安装
对应的版本下载地址为:
Elasticsearch 6.8.23 | Elastichttps://www.elastic.co/cn/downloads/past-releases/elasticsearch-6-8-23
安装完成后运行,访问 localhost:9200
Kibana 6.8.23 | Elastichttps://www.elastic.co/cn/downloads/past-releases/kibana-6-8-23
安装分词插件
此时在kibana中创建索引可能会报错
{
"error": {
"root_cause": [
{
"type": "mapper_parsing_exception",
"reason": "analyzer [ik_smart] not found for field [title]"
}
],
"type": "mapper_parsing_exception",
"reason": "Failed to parse mapping [_doc]: analyzer [ik_smart] not found for field [title]",
"caused_by": {
"type": "mapper_parsing_exception",
"reason": "analyzer [ik_smart] not found for field [title]"
}
},
"status": 400
}
还需要安装分词插件,下载地址为Releases · medcl/elasticsearch-analysis-ik · GitHub,注意版本要和Elasticsearch版本统一,我要下载的版本为https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.8.23/elasticsearch-analysis-ik-6.8.23.zip
注意安装方法:将zip解压至 es目录/plugns 目录下,zip文件不要放在plugns目录下,这一点要注意,
然后重启es和kibana再次执行就可以了。