Spring Boot与检索

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

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

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hxxIPQZx-1581770954353)(http://39.102.36.205:8090/upload/2020/2/image-df6aeba3e9d84e588e513fee1f7d2a22.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
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mqUyK6Au-1581770954354)(http://39.102.36.205:8090/upload/2020/2/image-a4e325f93ab04de19b7ad53c7e778c85.png)]
  2. application.yml配置
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fRRdxQXc-1581770954355)(http://39.102.36.205:8090/upload/2020/2/image-39719592641d4cd4b27112c3254bcab9.png)]
  3. Spring Boot自动配置的
    ElasticsearchRepository、ElasticsearchTemplate、Jest
    测试ElasticSearch

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fGJ3nlFx-1581770954356)(http://39.102.36.205:8090/upload/2020/2/image-b935cd440b064695b9d022577e8b191e.png)]
注意:

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

elasticsearch需要提前声明号分配给他的内存大小,其默认的内存大小为2G

顺便说一下我的个人博客
天涯博客

发布了36 篇原创文章 · 获赞 26 · 访问量 7567

猜你喜欢

转载自blog.csdn.net/weixin_43566977/article/details/104334315