ElasticSearch 快速上手教程 (二) —— 基本概念术语

上一部分,我们讲解了 ES 的一些基本概念和应用场景,以及如何在本机搭建一个 ELK 测试环境。现在这篇文章带你了解 ES 当中一些基本术语以及相关的工作原理。

基本的概念术语

    node(节点) ES 的一个运行实例,存储了部分文档数据,属于集群的一部分。 Cluster(集群) 一个或者多个节点的集合,这些节点将共同拥有完整的数据,并跨节点提供联合搜索和分析功能。 Index(索引) 具有某些相似特性的文档的集合。 Document(文档) 数据以文档的形式存储在 ES 当中,以 JSON 表示。 Shard(分片) 一个索引可以水平切分为多个分片,每个分片也相当于一个“索引”,即:一个分片当中存储一部分文档,多个分片可以分布在集群的不同节点上。这样做的优点是实现大数据的存储和分析,单个节点存储的容量有限,可以将数据存储分布到多个节点当中,可以跨分片并行操作,从而提高性能和吞吐量。 Replica(副本) 创建多个分片副本,副本是分片数据的拷贝,当一个节点服务挂掉不可用或者数据丢失,副本的节点依旧可以提供服务,保证高可用性。

工作原理

为什么 ES 可以快速的搜索到文档呢?因为它使用了倒排索引(inverted index),ES 在存储文档时会通过一定的分析算法将Text类型的字段值进行分词,在分词和文档建立映射关系,这样,便可以通过分词快速定位到相关的文档。

reference:

    https://www.knowi.com/blog/what-is-elastic-search/ https://www.elastic.co/guide/en/elasticsearch/reference/6.0/getting-started.html https://github.com/LisaHJung/Beginners-Crash-Course-to-Elastic-Stack-Series-Table-of-Contents
经验分享 程序员 微信小程序 职场和发展