Elasticsearch专栏 基础知识

发布时间 2024-01-06 16:31:49作者: Done、

Elasticsearch 基础知识

1. 什么是 Elasticsearch?

Elasticsearch 是一个开源、分布式、实时搜索和分析引擎,建立在 Apache Lucene 基础之上。它提供了一个强大的 RESTful API,用于进行复杂的搜索和分析操作。

2. 核心概念

2.1 节点(Nodes)

  • Elasticsearch 集群由一个或多个节点组成。每个节点是一个运行着 Elasticsearch 的服务器实例。

2.2 索引(Index)

  • 索引是一组相关文档的集合,类似于关系数据库中的表。每个文档都属于一个索引,并且具有唯一的类型和 ID。

2.3 文档(Document)

  • 文档是 JSON 格式的数据单元,存储在索引中。它包含了实际的数据。

2.4 分片(Shards)

  • Elasticsearch 将索引分成多个分片,每个分片可以在不同的节点上存储。分片提高了集群的性能和可伸缩性。

2.5 映射(Mapping)

  • 映射定义了索引中每个字段的数据类型和属性。它帮助 Elasticsearch 理解如何索引和搜索文档中的数据。

3. 基本操作

3.1 查询

  • Elasticsearch 支持丰富的查询语法,包括全文搜索、模糊搜索、范围查询等。

3.2 聚合

  • 聚合允许对数据进行汇总和统计,提供了强大的数据分析功能。

3.3 索引管理

  • 创建、删除和管理索引,以及设置索引的映射和设置。

3.4 集群管理

  • 监控集群健康状态,添加或删除节点,执行集群级别的操作。

4. RESTful API

  • Elasticsearch 提供了 RESTful 风格的 API,通过 HTTP 请求进行交互。通过 API,可以执行各种操作,包括索引管理、搜索和聚合等。

5. 使用案例

  • Elasticsearch 广泛应用于日志分析、全文搜索、实时数据分析等场景。

6. 学习资源