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/

版本说明

示例

可参考简单示例代码

  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. 聚合查询:定义好返回的通用数据结构

以上是关于springboot整合elasticsearch的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot 整合 Elasticsearch 实现海量级数据搜索

Springboot 2.5.x整合ElasticSearch 7.1x

SpringBoot检索篇Ⅳ --- 整合ElasticSearch

SpringBoot整合ElasticSearch7.x及实战

[ ElasticSearch ] SpringBoot整合ElasticSearch

[ ElasticSearch ] SpringBoot整合ElasticSearch