springboot整合elasticsearch
Posted Sam_C
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springboot整合elasticsearch相关的知识,希望对你有一定的参考价值。
elasticsearch整合springboot
es官网: https://www.elastic.co/guide/index.html
安装es
# 若启动不了,则需要加上下面的参数
# -e ES_JAVA_OPTS="-Xms512m -Xmx512m" #指定默认内存大小
docker run -d --rm --name elasticsearch elasticsearch:6.8.12
docker cp elasticsearch:/usr/share/elasticsearch/config/ /usr/local/es/
docker cp elasticsearch:/usr/share/elasticsearch/data/ /usr/local/es/
docker stop elasticsearch
docker run -d --name elasticsearch \\
-p 9200:9200 -p 9300:9300 \\
-v /usr/local/es/data:/usr/share/elasticsearch/data \\
-v /usr/local/es/config:/usr/share/elasticsearch/config \\
-e "discovery.type=single-node" \\
elasticsearch:6.8.12
访问 http://localhost:9200 安装成功则显示
安装图形化界面–Dejavu
cat >>/usr/local/es/config/elasticsearch.yml <<EOF
http.port: 9200
http.cors.allow-origin: 'http://localhost:1358'
http.cors.enabled: true
http.cors.allow-headers: X-Requested-With,X-Auth-Token,Content-Type,Content-Length,Authorization
http.cors.allow-credentials: true
EOF
# Dejavu es图形化界面
docker run -d -p 1358:1358 -d --name dejavu appbaseio/dejavu
# open http://localhost:1358/
整合springboot
spring官方工具包 - Spring Data Elasticsearch: https://docs.spring.io/spring-data/elasticsearch/docs/current/reference/html/
版本说明
示例
可参考简单示例代码
- 当前springboot版本
2.2.13.RELEASE
- 依赖导入
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-elasticsearch</artifactId>
<version>3.2.13.RELEASE</version>
</dependency>
- es配置文件
spring:
data:
elasticsearch:
repositories:
enabled: true
# 集群名称
# 如果不配会导致cluster-nodes的节点找不到
cluster-name: docker-cluster
# 集群节点
cluster-nodes: 127.0.0.1:9300
项目整合方式
采用无入侵的方式,通过切面编程以注解方式实现数据的同步
- 增删改:注意根据数据库返回结果来同步操作es数据,例如:新增、删除根据结果同步数据,修改根据id同步
注解参数:操作类型、实体类型
- 查询:分为
单索引
查询、多索引
聚合查询 - 单索引查询:数据与实体类关联,直接查询
- 聚合查询:定义好返回的通用数据结构
以上是关于springboot整合elasticsearch的主要内容,如果未能解决你的问题,请参考以下文章
SpringBoot 整合 Elasticsearch 实现海量级数据搜索
Springboot 2.5.x整合ElasticSearch 7.1x
SpringBoot检索篇Ⅳ --- 整合ElasticSearch
SpringBoot整合ElasticSearch7.x及实战