写点什么

Spring Boot 2(1),蛙课网 java 教程资源库

作者:Java高工P7
  • 2021 年 11 月 10 日
  • 本文字数:1242 字

    阅读完需:约 4 分钟

一个分布式实时分析搜索引擎


能胜任上百个服务节点的扩展,并支持 PB 级别的结构化或者非结构化数据


面向文档


Elasticsearch 是面向文档,即文档是可以被索引的信息的基本单位,而文档的格式是在 NoSQL 中常用的 JSON,关于关系型数据库和 Elasticsearch 之间一些名词的关系的对应可以用以下的表格来表示,方便我们后面的应用:



这里需要注意的是文档的格式不是固定的,同一个 Type 下的不同文档可以拥有不同的格式


为什么选择 Elasticsearch?


丰富的查询方式——Elasticsearch 能够执行及合并多种类型的搜索(结构化数据、非结构化数据、地理位置、指标),搜索方式随心而变。


极速的查询速度——Elasticsearch 通过有限状态转换器实现了用于全文检索的倒排索引,实现了用于存储数值数据和地理位置数据的 BKD 树,以及用于分析的列存储。每个数据都被编入了索引。


可观的可扩展性——Elasticsearch 能够水平扩展,每秒钟可处理海量事件,同时能够自动管理索引和查询在集群中的分布方式,可以在承载了 PB 级数据的成百上千台服务器上运行。


强大的弹性保障——硬件故障。网络分割。Elasticsearch 检测这些故障并确保集群(和数据)的安全性和可用性。通过跨集群复制功能,辅助集群可以作为热备份随时投入使用。


如何使用 Elasticsearch?


安装 Elasticsearch


https://www.elastic.co/cn/downloads/elasticsearch


这里我们选择的是 6.2.2 版本的 ES,因为我在 spring-data-elasticsearch 的 github 上看到最新版本的支持的 ES 是 6.2.2



其中 3.2.x 版本尚未发布正式版,所以这里选择了最新的 3.1.8 版本,下面我们切换到安装目录的 bin 目录下,启动 es:


./elasticsearch?&


这里添加 & 符号的作用是让它在后台运行。



看到这个就说明启动成功了~


安装中文分词器 iK


因为,在我们日常的应用中,我们用的比较多的都是中文的分词,所以这里我们需要一个中文的分词器


首先前往 github 上下载与 ES 版本对应的 zip 包


https://github.com/medcl/elasticsearch-analysis-ik/releases


然后在 es 的安装目录下的 plugins 下新建一个 ik 的目录,将 zip 包解压到该目录下重启 es 即可~



《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》
浏览器打开:qq.cn.hn/FTe 免费领取
复制代码


在 es 的启动日志中看到这个说明插件已经安装并启动成功!


到这里,我们的前期准备工作就已经结束了,下面的就是在 Spring Boot 项目中进行操作了~


添加 pom 依赖


我们首先在 pom.xml 中添加 spring-data-elasticsearch 的依赖(敲黑板!!这里的版本一定要去参考一下对应的 ES 的版本,不然就会引起版本兼容性问题而报错!):


<dependency>


<groupId>org.springframework.data</groupId>


<artifactId>spring-data-elasticsearch</artifactId>


<version>3.1.8.RELEASE</version>


</dependency>


依赖已经添加完毕,下面我们就通过简单的配置来完成 CRUD


CRUD


这里的配置需要注意一个点,我们访问的 9200 是 HTTP 的端口号,而使用 Java 的时候需要配置成 9300:


spring:


data:


elasticsearch:


cluster-name:?my-applicatioon


cluster-nodes:?127.0.0.1:9300


在启动日志中,我们可以看到这一点:

用户头像

Java高工P7

关注

还未添加个人签名 2021.11.08 加入

还未添加个人简介

评论

发布
暂无评论
Spring Boot 2(1),蛙课网java教程资源库