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/

操作面板
dejavu


整合springboot

spring官方工具包 - Spring Data Elasticsearch: https://docs.spring.io/spring-data/elasticsearch/docs/current/reference/html/

版本说明
版本兼容

示例

可参考简单示例代码

  1. 当前springboot版本2.2.13.RELEASE
  2. 依赖导入
<dependency>
    <groupId>org.springframework.data</groupId>
    <artifactId>spring-data-elasticsearch</artifactId>
    <version>3.2.13.RELEASE</version>
</dependency>
  1. es配置文件
spring:
  data:
    elasticsearch:
      repositories:
        enabled: true
      # 集群名称
      # 如果不配会导致cluster-nodes的节点找不到
      cluster-name: docker-cluster
      # 集群节点
      cluster-nodes: 127.0.0.1:9300

项目整合方式

采用无入侵的方式,通过切面编程以注解方式实现数据的同步

  1. 增删改:注意根据数据库返回结果来同步操作es数据,例如:新增、删除根据结果同步数据,修改根据id同步

注解参数:操作类型、实体类型

  1. 查询:分为单索引查询、多索引聚合查询
  2. 单索引查询:数据与实体类关联,直接查询
  3. 聚合查询:定义好返回的通用数据结构
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>