当前位置:   article > 正文

ElasticSearch系列文章一 核心概念_elasticsearch相关文章

elasticsearch相关文章
ElasticSearch 核心概念

索引(index) 类型(Type) 文档(Document) 字段 (Fields)

类比传统的关系型数据库

Relational DBElasticSearch
数据库(database)索引(index)
表(table)类型(type)
行(rows)文档(document)
字段(columns)字段 (fields)

ElasticSearch集群中可以包含多个索引,每个索引中包含多个类型,每个类型下包含多个文档,每个文档中又包含了多个字段。

在ElasticSearch 7.x版本去除了type的概念。

节点(node)

一个运行中的 Elasticsearch 实例称为一个节点,而集群是由一个或者多个拥有相同cluster.name配置的节点组成, 它们共同承担数据和负载的压力。

ES集群中的节点有三种不同的类型:

  • 主节点:负责管理集群范围内的所有变更,例如增加、删除索引,或者增加、删除节点等。 主节点并不需要涉及到文档级别的变更和搜索等操作。可以通过属性node.master进行设置。
  • 数据节点:存储数据和其对应的倒排索引。默认每一个节点都是数据节点(包括主节点),可以通过node.data属性进行设置。
  • 协调节点:如果node.master和node.data属性均为false,则此节点称为协调节点,用来响应客户请求,均衡每个节点的负载。

分片(shard)

  • shard = primary shard(主分片)

  • replica = replica shard(副本节点)

一个索引中的数据保存在多个分片中,相当于水平分表。ES实际上就是利用分片来实现分布式的,分片是数据的容器,文档保存在分片内,分片又被分配到集群内的各个节点里。 当你的集群规模扩大或者缩小时, ES会自动的在各节点中迁移分片,使得数据仍然均匀分布在集群里。

一个分片可以是主分片或者副本分片。 索引内任意一个文档都归属于一个主分片,所以主分片的数目决定着索引能够保存的最大数据量。一个副本分片只是一个主分片的拷贝。副本分片作为硬件故障时保护数据不丢失的冗余备份,并为搜索和返回文档等读操作提供服务。

在索引建立的时候就已经确定了主分片数,但是副本分片数可以随时修改。默认情况下,一个索引会有5个主分片,而其副本可以有任意数量。

倒排索引 Inverted index

传统数据库一般都是以文档id作为索引,以文档内容作为记录,这种也就是正排索引。倒排索引指的是以单词或记录作为索引,将文档id作为记录。这样更方便通过单词或记录查找所在的文档。

文档id文档内容
1php is the best language in the world
2java is the best language in the world
3C# is the best language in the world

正排索引 根据文档id

倒排索引

单词文档ids
php1
java2
C#3
is1,2,3
the1,2,3
best1,2,3
language1,2,3
in1,2,3
world1,2,3
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/543422
推荐阅读
相关标签
  

闽ICP备14008679号