ElasticSearch基础篇——概念讲解,部署搭建,使用RestClient操作索引库和文档数据

目录

一、概念介绍 

二、Elasticsearch的Docker容器安装

2.1拉取elasticsearch的镜像文件

2.2运行docker命令启动容器

2.3通过访问端口地址查看部署情况

三、安装Kibana容器

3.1拉取Kibana镜像容器指令(默认拉取最新版本):

3.2拉取完成后运行docker命令,部署Kibana:

 3.3访问kibana提供的界面检查是否部署成功

四、配置中文分词器IK分词器

4.1在线安装IK插件

4.2离线安装 

4.3通过IK分词器实现拓展词库,以及屏蔽不需要的创建词条的词语

五、elasticsearch的DSL指令使用

5.1创建索引库和mapping的DSL语句如下:

5.2其他常见索引库操作指令:

5.3使用DSL语句对文档数据进行操作

5.3.1新增文档

5.3.2查看删除文档

5.3.3修改文档

六、使用JavaRestClient实现创建、删除索引库,判断索引库是否存在

6.1、引入es的RestHighLevelClient依赖

6.2配置config文件,初始化RestHighLevelClient:

6.3创建索引库

6.4删除索引库

6.5获取索引库

 七、使用RestClient操作文档数据

7.1向索引库中添加文档数据

7.2获取文档对象并解析转换为实体对象

7.3更新文档对象数据

7.4删除文档对象

 7.5实现批量插入文档对象


 

一、概念介绍 

概念:

什么是ES?

  • 从功能上来说,elasticsearchelasticsearchelasticsearch是一款非常强大的开源搜索引擎,可以帮助我们从海量数据中快速找到需要的内容,实现搜索、日志统计、分析、系统监控等功能
  • 从架构上说,elasticsearchelastic stack的核心,负责存储、搜索、分析数据。

什么是elastic stack?

  • elasticsearch结合kibanaLogstashBeats,也就是elastic stackELK)。被广泛应用在日志数据分析、实时监控等领域

ES能够实现对数据的快速搜索,主要原因就是它采用倒排索引的方式:

倒排索引中包含两部分内容:

  • 词条词典(Term Dictionary):记录所有词条,以及词条与倒排列表(Posting List)之间的关系,会给词条创建索引,提高查询和插入效率
  • 倒排列表(Posting List):记录词条所在的文档id、词条出现频率 、词条在文档中的位置等信息
  • 文档id:用于快速获取文档
  • 词条频率(TF):文档在词条出现的次数,用于评分

简单来说就是将一条条数据划分一个个文档,再对整个文档中的某些字段建立倒排索引,将字段按照语义划分成词语,再将每个不同的词语作为主键,对应的值就是文档的id,如下图:

ES搜索流程:

同时ES也是面向文档进行存储,可以是数据库中的一条商品数据,一个订单信息。

文档数据会被序列化为json格式后存储在elasticsearch

索引:相同类型的文档的集合

映射(mapping):索引中文档的字段约束信息,类似表的结构约束

下面为了加深读者对ES的认识,有关于elasticsearch和数据库的对比表格

MySQL

Elasticsearch

说明

Table

Index

索引(index),就是文档的集合,类似数据库的表(table)

Row

Document

文档(Document),就是一条条的数据,类似数据库中的行(Row),文档都是JSON格式

Column

Field

字段(Field),就是JSON文档中的字段,类似数据库中的列(Column

Schema

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值