首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Elasticsearch核心概念

Cluster:集群,由一个或多个Elasticsearch 节点组成。

Node:节点,组成Elasticsearch 集群的服务单元,同一个集群内节点的名字不能重复。通常在一个节点上分配一个或者多个分片。

Shards:分片,当索引上的数据量太大的时候,我们通常会将一个索引上的数据水平拆分,拆分出来的每个数据块叫作一个分片。在一个多分片的索引中写入数据时,通过路由来确定具体写入那一个分片中,所以在创建索引时需要指定分片的数量,并且分片的数量一旦确定就不能更改。分片后的索引带来了规模上(数据水平切分)和性能上(并行执行)的提升。每个分片都是 Lucene 中的一个索引文件,每个分片必须有一个主分片和零到多个副本分片。

Replicas:备份也叫作副本,是指对上分片的备份。主分片和备份分片都可以对外提供查询服务,写操作时先在主分片上完成,然后分发到备份上。当主分片不可用时,会在备份的分片中选举出一个作为主分片,所以备份不仅可以现升系统的高可用性,还可以提升搜索时的并发性能。但是若副本太多的话,在写操作时会增加数据同步的负担。

index:索引,由一个和多个分片组成,通过索引的名字在集群内进行唯一标识。

Type:类别,指索引内部的逻辑分区,通过 Type 的名字在索引内进行唯一标识。在查询时如果没有该值,则表示在整个索引中查询。

Document:文档,索引中的每一条数据叫作一个文档,类似于关系型数据中的一条数据,通过_id在Type内进行唯一标识。

Settings:对集群中索引的定义,比如一个索引默认的分片数、副本数等信息。

Mapping:类似于关系型数据库中的表结构信息,用于定义索引中字段(Field)的存猪类型、分词方式、是否存储等信息。Elasticseareh中的mapping 是可以动态识别的,如果没有特殊需求,则不需要手动创建 mapping,因为 Elasticsearch 会自动根据数据格式识别它的类型,但是当需要对某些字段添加特殊属性(比如:定义使用其他分词器、是否分词、是否存储等)时,就需要手动设置 mapping 了。一个索引的mapping一旦创建,若已经存储了数据,就不可修改了。

Analyzer:字段的分词方式的定义。一个analyzer通常由一个tokenizer、零到多个Filter组成。比如默认的标准Analyzer 包含一个标准的tokenizer 和三个filter:Standard Token Filter、Lower Case Token Filter、 Stop Token Filter。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230607A0AS3F00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券