一.什么是elasticsearch
一个开源的分布式搜索引擎,可以用来实现搜索、日志统计、分析、系统监控等功能
elasticsearch底层是基于lucene来实现的。
二.ELK技术栈
是以elasticsearch为核心的技术栈,包括beats、Logstash、kibana、elasticsearch
三.什么是Lucene?
是Apache的开源搜索引擎类库,提供了搜索引擎的核心API
四.什么是正排索引
正排索引是根据词条查询时,必须先逐条获取每个文档,然后判断文档中是否包含所需要的词条,是根据文档找词条的过程。
五.什么是倒排索引
倒排索引是先找到用户要搜索的词条,根据词条得到保护词条的文档的id,然后根据id获取文档。是根据词条找文档的过程。
六.正排索引优缺点
优点:
1:可以给多个字段创建索引
2.根据索引字段搜索、排序速度非常快
缺点:根据非索引字段,或者索引字段中的部分词条查找时,只能全表扫描
七.倒排索引优缺点
优点:
根据词条搜索、模糊搜索时,速度非常快
缺点:
1:只能给词条创建索引,而不是字段
2:无法根据字段做排序
八:mapping映射属性
九:根据API创建索引库
1.引入依赖
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-high-level-client</artifactId>
</dependency>
2.覆盖SpringBoot默认版本
<properties>
<java.version>1.8</java.version>
<elasticsearch.version>7.12.1</elasticsearch.version>
</properties>
3.创建索引库
十.判断索引库是否存在
十一:RestClient操作文档
- 1)创建Request对象
- 2)准备请求参数,也就是DSL中的JSON文档
- 3)发送请求