【Elasticsearch架构介绍及原理解析】讲解

Elasticsearch架构介绍及原理解析

  • [1. 前言](#1. 前言)
  • [2. Elasticsearch 基本概念](#2. Elasticsearch 基本概念)
  • [3. Elasticsearch 工作原理](#3. Elasticsearch 工作原理)

1. 前言

Elasticsearch 是一个基于 Apache Lucene 构建的分布式、RESTful风格的搜索和分析引擎,它允许你存储、搜索和分析大量数据迅速且实时,Elasticsearch 通常用于日志分析、全文搜索等复杂的数据分析场景,下面是一个对 Elasticsearch 架构及其工作原理的简要介绍。

2. Elasticsearch 基本概念

  • 节点(Node):一个 Elasticsearch 实例,它是集群中的一个服务器。
  • 集群(Cluster):由一个或多个节点组成的集合,它们共同工作,共享数据和负载任务。
  • 索引(Index):类似于传统数据库中的"数据库",是一堆具有类似特性的文档集合。
  • 类型(Type):已经在 Elasticsearch 7.x 版本中被废弃,过去类似于传统数据库中的"表"。
  • 文档(Document):一个可以被索引的信息单元,类似于传统数据库中的"记录",Elasticsearch 中的文档是 JSON 格式的。
  • 分片(Shard):索引可以分为多个分片,每个分片是一个自包含的索引,分片可以进一步冗余存储在不同节点上来提供容错。
  • 副本(Replica):一个分片的拷贝,副本在分散读取负载和增加容错方面起着重要作用。

3. Elasticsearch 工作原理

1. 分布式文档存储

当文档进入 Elasticsearch 时,文档会被存储在一个索引中,为了能够横向扩展和提供高可用性,每个索引都可以被切分成多个分片。每个分片可以有零个或多个副本。

2. 分布式搜索架构

当一个搜索请求被发送到集群时,Elasticsearch 首先会确定这个请求需要哪些索引分片参与,请求会被发送到这些分片所在的节点。每个节点执行本地搜索,并将结果发回请求的发起节点,由它来汇总这些结果,并返回给客户端。

3. 实时性

Elasticsearch 通过一种称为近实时(NRT)搜索的方式实现实时搜索,文档被索引后并不会马上可以被搜索,而是有一个稍微的延迟(默认是 1 秒)。

4. Lucene 索引

Elasticsearch 在底层使用 Lucene 索引。Lucene 提供了高性能的搜索功能,一个 Elasticsearch 分片其实是一个 Lucene 索引。

5. 分析链

Elasticsearch 通过分析器(Analyzers)处理文本数据,将其转换为一个 token 流,再进行索引和搜索,分析链包括字符过滤(Character Filter)、分词器(Tokenizer)、以及token过滤(Token Filter)。

6. 映射(Mapping)

Mapping 类似于数据库的 schema,是定义文档并告知 Elasticsearch 如何理解这些文档的方式,可以指定字段的数据类型,如整数、浮点数、字符串、布尔值等。

7. 查询 DSL

Elasticsearch 有一套灵活的查询DSL(Domain Specific Language)来构建复杂的搜索查询,这套查询语言基于 JSON,支持全文搜索、结构化查询、复合查询等。

8. 集群协调

Elasticsearch 集群内部有一个选主机制来处理元数据的管理,其中一个节点会被选举为 master 节点,负责管理集群的配置变更等。

9. 水平扩展

可以通过简单地添加更多节点来扩展集群规模,Elasticsearch 通过在后台进行数据和负载的自动分配来优化集群的性能和容量。

相关推荐
Robot侠1 小时前
极简LLM入门指南4
大数据·python·llm·prompt·提示工程
技术钱2 小时前
vue3解决大数据加载页面卡顿问题
大数据
Loo国昌4 小时前
Vue 3 前端工程化:架构、核心原理与生产实践
前端·vue.js·架构
tap.AI4 小时前
RAG系列(一) 架构基础与原理
人工智能·架构
The Open Group4 小时前
架构:不仅仅是建模,而是一种思维
架构
福客AI智能客服5 小时前
从被动响应到主动赋能:家具行业客服机器人的革新路径
大数据·人工智能
Solar20256 小时前
TOB企业智能获客新范式:基于数据驱动与AI的销售线索挖掘与孵化架构实践
人工智能·架构
小五传输6 小时前
隔离网闸的作用是什么?新型网闸如何构筑“数字护城河”?
大数据·运维·安全
jkyy20146 小时前
AI健康医疗开放平台:企业健康业务的“新基建”
大数据·人工智能·科技·健康医疗
蚁巡信息巡查系统7 小时前
政府网站与政务新媒体检查指标抽查通报如何面对
大数据·内容运营