Elasticsearch简介:
Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。之前我们搜索常用写法为sql中的like语句,但在大数据情况下,查询效率十分缓慢,因此我们就会选择elasticsearch。
elasticsearch常用场景:
百度、Google:我们想寻找一个我们喜欢的电影或者书籍就会去百度或者Google搜索一下。
互联网搜索:电商搜索商品,招聘网站搜索简历或者岗位
现在我们就来整理一下如何将es集成到我们项目中。
一、下载安装elasticsearch
官网地址
下载后解压启动bin目录下的elasticsearch.bat文件,默认端口9200
二、下载elasticsearch可视化工具es-head
链接:https://pan.baidu.com/s/1ZbG1sZ1halXinT491CsLOw
提取码:jdb8
将文件下载后解压,打开google浏览器,选择设置->扩展程序->打开开发者模式->左上角选择解压文件选择刚刚解压的文件夹位置->将扩展程序固定
打开可视化工具:
标记及链接成功。默认集群
至此本地安装已完成
三、在Java项目中添加elasticsearch
依赖添加
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-elasticsearch</artifactId>
</dependency>
<dependency>
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch</artifactId>
</dependency>
1.编写es配置类
@Configuration
public class EsConfig extends AbstractElasticsearchConfiguration {
@Override
public RestHighLevelClient elasticsearchClient() {
final ClientConfiguration clientConfiguration = ClientConfiguration
.builder()
.connectedTo("localhost:9200")
.build();
return RestClients.create(clientConfiguration).rest();
}
}
2.在实体类上添加es的相关注解
@Document 注解
@Documnet注解对索引的参数进行设置。
上面代码中,把 menu作为索引 初学者可以将索引当作数据库
@Id 注解
在 Elasticsearch 中创建文档时,使用 @Id 注解的字段作为文档的 _id 值
@Field 注解
通过 @Field 注解设置字段的数据类型和其他属性。
3.编写menuRepository,此接口相当于我们整合mybatis-plus的service层
string为id类型
4.接下来在业务层向elasticseach中添加数据
添加完成后添加数据
添加成功。
四、检验
调用之前定义好的findByName方法
成功
ps:只限于个人理解,后面关于分词器的正在研究