一、检索
我们的应用经常需要添加检索功能,开源的 ElasticSearch 是目前全文搜索引擎的首选。他可以快速的存储、搜索和分析海量数据。Spring Boot通过整合Spring Data ElasticSearch为我们提供了非常便捷的检索功能支持;

Elasticsearch是一个分布式搜索服务,提供Restful API,底层基于Lucene,采用多shard(分片)的方式保证数据安全,并且提供自动resharding的功能,github等大型的站点也是采用了ElasticSearch作为其搜索服务,
二、概念

*以 员工文档 的形式存储为例:一个文档代表一个员工数据。存储数据到 ElasticSearch 的行为叫做 索引 ,但在索引一个文档之前,需要确定将文档存储在哪里。
一个 ElasticSearch 集群可以 包含多个 索引 ,相应的每个索引可以包含多个 类型 。 这些不同的类型存储着多个 文档 ,每个文档又有 多个 属性 。
类似关系:
索引-数据库
类型-表
文档-表中的记录
属性-列*
image.png
三、整合ElasticSearch测试

  1. 引入spring-boot-starter-data-elasticsearch
<!--SpringBoot默认使用SpringData ElasticSearch模块进行操作-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-elasticsearch</artifactId>
        </dependency>
  1. 安装Spring Data 对应版本的ElasticSearch

image.png

  1. application.yml配置

image.png

  1. Spring Boot自动配置的

ElasticsearchRepository、ElasticsearchTemplate、Jest
测试ElasticSearch

image.png
注意:

#启动elasticsearch的docker指令
#docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9200:9200 -p 9300:9300 --name ES01 5acf0e8da90b

elasticsearch需要提前声明号分配给他的内存大小,其默认的内存大小为2G
顺便在这里说一下我的个人博客
天涯博客


Nice
48 声望13 粉丝

在校大二学生一枚,主要专注于 JAVA 后端技术栈,以后会经常发布以下自己学的知识和笔记 ,坚持学习和写作,加油,奥力给!!