一.什么是elasticsearch

一个开源的分布式搜索引擎,可以用来实现搜索、日志统计、分析、系统监控等功能
elasticsearch底层是基于lucene来实现的。

二.ELK技术栈

是以elasticsearch为核心的技术栈,包括beats、Logstash、kibana、elasticsearch

三.什么是Lucene?

是Apache的开源搜索引擎类库,提供了搜索引擎的核心API

四.什么是正排索引

正排索引是根据词条查询时,必须先逐条获取每个文档,然后判断文档中是否包含所需要的词条,是根据文档找词条的过程。

五.什么是倒排索引

倒排索引是先找到用户要搜索的词条,根据词条得到保护词条的文档的id,然后根据id获取文档。是根据词条找文档的过程。

六.正排索引优缺点

优点:
1:可以给多个字段创建索引
2.根据索引字段搜索、排序速度非常快
缺点:根据非索引字段,或者索引字段中的部分词条查找时,只能全表扫描

七.倒排索引优缺点

优点:
根据词条搜索、模糊搜索时,速度非常快
缺点:
1:只能给词条创建索引,而不是字段
2:无法根据字段做排序

八:mapping映射属性

image.png

九:根据API创建索引库

1.引入依赖

  1. <dependency>
  2. <groupId>org.elasticsearch.client</groupId>
  3. <artifactId>elasticsearch-rest-high-level-client</artifactId>
  4. </dependency>

2.覆盖SpringBoot默认版本

  1. <properties>
  2. <java.version>1.8</java.version>
  3. <elasticsearch.version>7.12.1</elasticsearch.version>
  4. </properties>

3.创建索引库

image.png

十.判断索引库是否存在

image.png

十一:RestClient操作文档

  • 1)创建Request对象
  • 2)准备请求参数,也就是DSL中的JSON文档
  • 3)发送请求

image.png

十二:批量导入文档

image.png