什么是elasticsearch
- 一个开源的分布式搜索引擎,可以用来实现搜索、日志统计、分析、系统监控等功能
- 它是基于Lucene二次开发的,elasticsearch是面向文档存储的,可以是数据库中的一条商品数据,一个订单信息,文档会被序列化为json格式后存储在elasticsearch
什么是Lucene
- 是Apache的开源搜索引擎类库,提供了搜索引擎的核心API
什么是文档和词条
- 每一条数据就是一个文档
- 对文档中的内容分词,得到的词语就是词条
什么是正向索引
- 基于文档id创建索引。查询词条时必须先找到文档,而后判断是否包含词条
什么是倒排索引
- 对文档内容分词,对词条创建索引,并记录词条所在文档的信息。查询时先根据词条查询到文档id,而后获取到文档
使用Apifox对elasticsearch进行操作
分词器的作用是什么
- 创建倒排索引时对文档分词
- 用户搜索时,对输入的内容分词
测试分词器

- 可以修改为
-
- english 对英文单词分词
- chinese 对中文词语分词
- 可以使用IK分词器
-
- ik_max_word 细粒度
- ik_smart 粗粒度
创建索引库

更新映射

插入文档

RestClient操作索引库
-
什么是restClient
-
- 它相当于是客户端,也就是当我们使用别的编程语言的时候,通过http请求发送请求时,需要它来发送给ES服务
-
导入restHighLevelClient依赖
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-high-level-client</artifactId>
<version>6.2.1</version>
<exclusions> //解决jar冲突
<exclusion>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-client</artifactId>
</exclusion>
<exclusion>
<artifactId>elasticsearch</artifactId>
<groupId>org.elasticsearch</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch</artifactId>
<version>6.2.1</version>
</dependency>
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-client</artifactId>
<version>6.2.1</version>
</dependency>