Elasticsearch专栏 基础知识
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. 学习资源
- 官方文档:Elasticsearch Documentation
- Elasticsearch 中文社区:Elasticsearch 中文社区