ElasticSearch学习笔记(1)-概念

一、概念

1、倒排索引

将文档进行分词,形成词条和id的对应关系即为反向索引。

ElasticSearch是一个基于Lucene的搜索服务器。

是一个分布式、高扩展、高实时的搜索与数据分析引擎
•基于RESTful web接口
•Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎
•官网:https://www.elastic.co/
应用场景
搜索:海量数据的查询
•日志数据分析
•实时数据分析

 

以唐诗为例,所处包含“前”的诗句
正向索引:由《静夜思》-->窗前明月光--->“前”字
反向索引:“前”字-->窗前明月光-->《静夜思》
反向索引的实现就是对诗句进行分词,分成单个的词,由词推据,即为反向索引
“床前明月光”--> 分词
将一段文本按照一定的规则,拆分为不同的词条(term)

 

 

 

 

2、ES存储和查询的原理

index(索引):相当于mysql的库
映射:相当于mysql 的表结构
document(文档):相当于mysql的表中的数据

 数据库查询存在的问题:

1. 性能低:使用模糊查询,左边有通配符,不会走索引,会全表扫描,性能低
2. 功能弱:如果以”华为手机“作为条件,查询不出来数据

Es使用倒排索引,对title 进行分词

 

 二、ES的核心概念

索引(index)

ElasticSearch存储数据的地方,可以理解成关系型数据库中的数据库概念。


映射(mapping)

mapping定义了每个字段的类型、字段所使用的分词器等。相当于关系型数据库中的表结构。

文档(document)

Elasticsearch中的最小数据单元,常以json格式显示。一个document相当于关系型数据库中的一行数据。


倒排索引

一个倒排索引由文档中所有不重复词的列表构成,对于其中每个词,对应一个包含它的文档id列表。


类型(type)

一种type就像一类表。如用户表、角色表等。在Elasticsearch7.X默认type为_doc。

ES 7.x以后,将逐步移除type这个概念,现在的操作已经不再使用,默认_doc 。

 

 三、ES的几个操作

 

posted @ 2022-12-17 00:06  沐雪架构师  阅读(46)  评论(0编辑  收藏  举报