Elasticsearch核心概念

索引(index)

索引对应于关系型数据库中的数据库(database)的概念,是文档(doc)的集合。

分片

每个索引可以有多个分片,这样存储在索引中的所有数据会被分散到这多个分片上。对外部的用户来说,我们只需要跟索引进行交互而无需关心数据会存储到哪个分片上,而分片是索引内部的概念,索引的所有数据会分布在这多个分片上。

副本

索引的每个分片都可以有多个副本,是出于容错性的考虑。假设某个es节点宕机,则其他节点上该索引的分片的副本则可以提供服务响应数据。

类型(type)

Es中的类型对应于关系型数据库中的表的概念,即相当于约束了数据中有哪些字段,字段的数据类型是什么。类似关系型数据库如下的形式:
图1:关系型数据库表结构

图1:关系型数据库表结构

字段(field)

字段相当于关系型数据库表结构中的列的概念

映射(mapping)

ES中Type的映射关系相当于关系型数据库中某个列和该列的类型关系的映射关系。

文档

ES中文档相当于关系型数据库中表中的一行行数据,不同之处在于ES中文档是存在于索引(index)中的,相同之处在于都以一行一行的形式来展示数据库中存储的数据。

倒排索引

  • 讲倒排索引之前先要了解正排索引,ES是一个面向文档的数据库,所以正排索引值的就是给你一个关键词,数据库通过 文档id文档 这种形式遍历所有文档找出包含某个关键词的文档。
  • 而倒排索引则是通过 文档关键词文档id 这种形式来找出包含某个关键词的文档,而要想获得文档中的所有关键词则需要分词器的帮助,这里举个例子帮助一下理解:
  • Doc1:乔布斯去了中国。
  • Doc2:苹果今年仍能占据大多数触摸屏产能。
  • Doc3:苹果公司首席执行官史蒂夫·乔布斯宣布,iPad2将于3月11日在美国上市。
  • Doc4:乔布斯推动了世界,iPhone、iPad、iPad2,一款一款接连不断。
  • Doc5:乔布斯吃了一个苹果。

这五个文档中的数字代表文档的ID,比如"Doc1"中的“1”,通过这5个文档产生的倒排索引如下所示:

单词ID(WordID)单词(Word)倒排列表(DocID)
1乔布斯1,3,4,5
2苹果2,3,5
3iPad2 3,4
4宣布3
51,4,5

这部分例子参考自博客:https://blog.csdn.net/qq_43403025/article/details/114779166

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值