Elasticsearch-02--术语及概念

本文深入解析Elasticsearch的17个核心概念,包括索引、文档、分片、副本、路由等,帮助读者全面理解其工作原理及如何高效使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1,索引词(term)

      能够被索引的精确词,foo foO Foo 三者是不一样的索引词,索引词是可以通过term查询进行准确的搜索

2,文本(text)

      是一段普通的非结构化文字,被分析成一个个索引词,存在ES索引库中

3,分析(analysis)

      将文本转换为索引词的过程,分析结果依赖于分词器  eg:FOO BAR_Foo 这几个单词有可能会被分析成相同的索引词foo 和bar

4,集群(cluster)
      由一个或多个节点组成,对外提供服务,对外提供索引和搜索功能

      ES 集群结构如图:

5,节点(node)

      一个节点是一个逻辑上独立的服务,它是集群的一部分,可以存储数据,并参与集群的索引和搜索功能。

6,路由(routing)

     当存储一个文档的时候,它会存储在唯一的主分片中,具体哪个分片是通过散列值进行选择

7,分片(shard)

     单个Lucene实例,这是ES管理的比较底层的功能,索引是指向主分片与副本分片的逻辑空间,对于使用,只需要指定分片的数量

8,主分片(primary shard)

      每个文档都存储在一个分片中,当你存储一个文档的时候,系统会首先存储在主分片中,然后会复制到不同的副本中。默认一个索引5个主分片,可以自定义数量,一旦建立不可修改

9,副本分片(replica shard)

每一个分片有零个或多个副本。副本主要是主分片的复制,其中有两个目的:

□增加高可用性:当主分片失败的时候,可以从副本分片中选择一个作为主分片。

□提高性能:当查询的时候可以到主分片或者副本分片中进行查询。默认情况下,一个主分片配有一个副本,但副本的数量可以在后面动态地配置增加。副本分片必须部署在不同的节点上,不能部署在和主分片相同的节点上。

分片主要有两个很重要的原因是:

□允许水平分割扩展数据。

□允许分配和并行操作(可能在多个节点上)从而提高性能和吞吐量。

这些很强大的功能对用户来说是透明的,你不需要做什么操作,系统会自动处理。

10.复制(replica)

复制是一个非常有用的功能,不然会有单点问题。当网络中的某个节点出现问题的时候,复制可以对故障进行转移,保证系统的高可用。因此,Elasticsearch允许你创建一个或多个拷贝,你的索引分片就形成了所谓的副本或副本分片。

复制是重要的,主要的原因有:

□它提供了高可用性,当节点失败的时候不受影响。需要注意的是,一个复制的分片不会存储在同一个节点中。

□它允许你扩展搜索量,提高并发量,因为搜索可以在所有副本上并行执行。

每个索引可以拆分成多个分片。索引可以复制零个或者多个分片。一旦复制,每个索引就有了主分片和副本分片。分片的数量和副本的数量可以在创建索引时定义。当创建索引后,你可以随时改变副本的数量,但你不能改变分片的数量。

默认情况下,每个索引分配5个分片和一个副本,这意味着你的集群节点至少要有两个节点,你将拥有5个主要的分片和5个副本分片共计10个分片。

注意:

每个Elasticsearch分片是一个Lucene的索引。有文档存储数量限制,你可以在一个单一的Lucene索引中存储的最大值为lucene-5843,极限是2147483519(=integer.max_value-128)个文档。你可以使用_cat/shards API监控分片的大小。

11.索引(index)

索引是具有相同结构的文档集合。例如,可以有一个客户信息的索引,一个订单数据的索引。在系统上索引的名字全部小写,通过这个名字可以用来执行索引、搜索、更新和删除操作等。在单个集群中,可以定义多个你想要的索引。

12.类型(type)

在索引中,可以定义一个或多个类型,类型是索引的逻辑分区。在一般情况下,一种类型被定义为具有一组公共字段的文档。例如,让我们假设你运行一个博客平台,并把所有的数据存储在一个索引中。在这个索引中,你可以定义一种类型为用户数据,一种类型为博客数据,另一种类型为评论数据。

13.文档(document)

文档是存储在Elasticsearch中的一个JSON格式的字符串。它就像在关系数据库中表的一行。每个存储在索引中的一个文档都有一个类型和一个ID,每个文档都是一个JSON对象,存储了零个或者多个字段,或者键值对。原始的JSON文档被存储在一个叫作_source的字段中。当搜索文档的时候默认返回的就是这个字段。

14.映射(mapping)

映射像关系数据库中的表结构,每一个索引都有一个映射,它定义了索引中的每一个字段类型,

15.字段(field)

 文档中包含零个或多个字段,字段可以是一个简单的值(eg:字符串,整数,日期),也可以是一个数组或对象的嵌套结构,字段类似于关系数据库中表的列

16.来源字段(source field)

默认情况下,原文档将被存储在_source 这个字段中,当你查询的时候也是返回这个字段

17.主键(ID)

ID 是一个文件的唯一标识,如果再存库的时候没有提供ID,系统会自动生成一个ID,文档的index/type/id 必须是唯一的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值