ES中的一些基本概念以及和关系数据库对比

以下总结点为自己思路总结,有不正确地方,请斧正。

ES中的基本概念一 ……索引

  • 索引:存放在ES中同一个类型文档的集合叫做ES中的索引,类似于关系数据库中的Table

ES中的基本概念二 ……Mapping、Setting

  • Mapping:存放在索引中每一个文档的中字段映射关系类型,类似于关系数据库中的schema,表结构
  • Setting:定义文档数据存放的不同位置信息,主要用来设置分片和副本数量

ES中基本概念三 ……Document

  • Document:存放在索引中的没一条数据,叫做文档,是所有可搜索数据的最小单位,存放JSON格式的数据。每个文档有一个唯一ID,可以指定,还可以通过elasticsearch自动生成。类似于关系数据库中的row。

ES中基本概念四 ……type

  • type:类型,在ES6之后已经废弃type,默认的一种是_doc类型

基本概念对比关系

elasticsearch RDBMS
INDEX TABLE
DOCUMENT ROW
FIELD COLUMN
MAPPING SCHEMA
DSL SQL

ES中基本概念五 ……倒排索引

  • 正排索引:文档ID到文档内容和单词的关联
  • 倒排索引:单词到文档ID的关系,将关键词作为具体的key,具体的行作为value。通过匹配key,找到value。
  • 倒排索引的核心组成
    1. 单词词典:记录所有文档的单词,记录单词到倒排列表的关联关系
    2. 倒排列表:记录了单词对应的文档结合,由倒排索引项组成
    • 倒排索引项
      • 文档ID
      • 词频 TF - 该单词在文档中出现的次数,用于相关性评分
      • 位置 - 单词在文档中分词的位置,用于语句搜索
      • 偏移 - 记录单词的开始结束位置,实现高亮显示

ES中基本概念六 ……数据类型

一级分类 二级分类 具体类型
核心类型 字符串类型 text,keyword(string从ES5开始不再支持)
h 整数类型 integer,long,short,byte
h 浮点类型 double,float,half_float,scaled_float
h 逻辑类型 boolean
h 日期类型 date
h 范围类型 range
h 二进制类型 binary
复合类型 数组类型 array(数组中的类型要一致)
f 对象类型 object
f 嵌套类型 nested
地理类型 地理坐标类型 geo_point
d 地理地图 geo_shape
特殊类型 IP类型 ip
t 范围类型 completion
t 令牌计数类型 token_count
t 附件类型 attachment
t 抽取类型 percolator

ES中基本概念七 ……节点

  • 节点:一个运行Elasticsearch的java进程。
    1. Data Node: 负责保存分片数据
    2. Coordinating Node:负责接受Client的请求,将请求分发到合适的节点,最终把结果汇总到一起,每个节点默认都有这个职责

ES中基本概念八 ……集群

  • 集群:将一个或者多个ES的节点组合在一起,整体的数据才是全部的数据,并对外提供服务。
  • 集群解决了什么问题?
    1. 解决了单点故障问题
    2. 解决了高并发访问问题
    3. 解决了存储容量问题

ES中基本概念九 ……分片

  • 分片:用以解决数据水平扩展的问题,在索引创建时指定,后续不允许修改,一份主分片是一个lucene的实例,索引的一部分或全部数据。数据集合切分成多个部分,保存在不同的机器上。

ES中基本概念十 ……副本

  • 副本:用以解决数据高可用的问题,是主分片数据的拷贝
posted @ 2022-10-16 11:22  Tenic  阅读(434)  评论(0编辑  收藏  举报