1、ES中重要概念介绍

Elasticsearch是一个基于Lucene的搜索服务器,提供了一个分布式多租户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计Elasticsearch的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。以下是Elasticsearch中的一些重要概念:

  1. 索引(Index):在Elasticsearch中,索引是一个文档的集合,这些文档可以被搜索。你可以把它看作是一个数据库,或者更具体地说,一个表。索引有一个或多个主分片,这些分片可以有零个或多个副本。主分片用于存储实际的数据,而副本分片则用于数据的冗余备份,以提高搜索性能和数据的可用性。
  2. 类型(Type):在Elasticsearch的早期版本中,一个索引可以包含多个类型,每个类型都有自己的字段和映射。然而,从Elasticsearch 6.x开始,每个索引只能包含一个类型,这在Elasticsearch 7.x中得到了进一步的简化,每个索引只能有一个固定的类型名"_doc"。
  3. 文档(Document):文档是Elasticsearch中的基本数据单位,它是一个JSON对象,可以包含多个字段。每个文档都有一个唯一的ID,这个ID可以在索引文档时由用户指定,也可以由Elasticsearch自动生成。
  4. 分片(Shard):分片是Elasticsearch中的物理存储单元,每个索引都可以被分成多个分片,这些分片可以分布在不同的节点上。分片的主要目的是提高搜索性能和存储能力。
  5. 副本(Replica):副本是分片的一个冗余备份,它可以用于提高数据的可用性和搜索性能。每个主分片都可以有一个或多个副本,这些副本会自动与主分片同步。
  6. 映射(Mapping):映射定义了索引中字段的类型和属性,它告诉Elasticsearch如何存储和索引这些字段。映射是静态的,一旦为索引设置了映射,就不能再改变它。
  7. 集群(Cluster):一个Elasticsearch集群由一个或多个节点组成,这些节点可以位于同一台机器上,也可以分布在多台机器上。集群的主要目的是提供高可用性和可扩展性。
posted @ 2024-02-22 16:14  MrSponge  Views(19)  Comments(0Edit  收藏  举报