【ElasticSearch】概述

文章目录

ElasticSearch

简单整理ES基本概念,设计理念,构建与使用,供回顾。

1.基本介绍

Elasticsearch 是一个基于 Apache Lucene 的开源的分布式搜索引擎,用于实时存储、检索和分析大规模数据。它属于 Elastic Stack(以前称为 ELK Stack),包括 Elasticsearch、Logstash 和 Kibana,提供全文搜索、日志收集和数据可视化等功能。

2.设计理念

Elasticsearch 的设计理念基于实时搜索和分布式存储的需求,旨在提供一个强大、可扩展、高效的搜索引擎和分析平台。以下是 Elasticsearch 的设计理念的关键方面:

  1. 分布式架构: Elasticsearch 是一个分布式系统,设计成可以水平扩展,以便处理大量数据和高并发请求。数据被分散存储在多个节点上,每个节点都可以处理搜索请求。

  2. 文档存储: 数据以文档的形式存储,每个文档是一个 JSON 对象。这种文档存储模型非常灵活,适用于各种类型和结构的数据。

  3. 倒排索引: Elasticsearch 使用倒排索引(Inverted Index)来加速全文搜索。倒排索引是一种将文档中的每个词映射到包含该词的文档的结构,使得搜索和过滤操作更加高效。

  4. 实时性: Elasticsearch 提供几乎实时的搜索和分析能力。当数据发生变更时,可以迅速地将这些变更应用到索引中,实现快速的索引和查询操作。

  5. 多种数据类型: Elasticsearch 支持多种数据类型,包括文本、数字、日期、地理位置等。这种灵活性使其适用于各种不同类型的数据。

  6. RESTful API: Elasticsearch 提供基于 RESTful 风格的 API,通过简单的 HTTP 请求进行操作。这样的设计使得 Elasticsearch 易于集成和使用。

  7. 查询语言: Elasticsearch 提供强大的查询语言,支持全文搜索、模糊搜索、聚合、过滤等丰富的查询操作。查询语言通过 JSON 结构进行定义。

  8. 实时分析: Elasticsearch 不仅用于搜索,还提供了丰富的聚合和分析功能,用于生成仪表盘、报表和可视化结果。

  9. 插件生态系统: Elasticsearch 具有丰富的插件生态系统,允许用户根据需求扩展其功能。这些插件可以提供额外的搜索和分析功能,以及与其他系统的集成。

  10. 开源和社区支持: Elasticsearch 是开源的,遵循 Apache 2.0 许可证。这使得它成为一个活跃的开源项目,拥有庞大的社区支持和贡献者。

3.基本架构与核心概念

可直接参考下方学习资料,

case1: 快速入门推荐二手博客,整理的非常不错;

case2: 实际研究学习推荐官方文档和源码库。

未完待续。。。。

学习参考资料:

  1. 官方文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/elasticsearch-intro.html
  2. 源码:https://github.com/elastic/elasticsearch
  3. 阿甘研究elasticsearch专栏(入门学习推荐). https://www.zhihu.com/column/c_1666374962351960064
  4. 小脑不发达(直观)https://zhuanlan.zhihu.com/p/434679339
  5. 不吃紫菜(容易理解,入门到精通,举例+实践)https://www.cnblogs.com/buchizicai/p/17093719.html
相关推荐
jinanwuhuaguo9 分钟前
OpenClaw深度沟通渠道-全景深度解构
大数据·开发语言·人工智能·openclaw
keke.shengfengpolang20 分钟前
学了三年财税大数据,毕业只能做会计?2026年转型数据分析师的真实出路
大数据
2501_946018701 小时前
六渡婚恋推出“真经”公益课堂 ——以系统化成长支持助力家庭建设与社会发展
大数据·人工智能
competes1 小时前
深圳程序员职业生涯
java·大数据·开发语言·人工智能·java-ee
飓风_数字IC验证1 小时前
【业务】ISSCC 2026 五大领域核心Session文章梳理
大数据·人工智能
@PHARAOH1 小时前
WHAT - git worktree 开发的并发模型
大数据·git·elasticsearch
轻造科技1 小时前
生产异常知识库+案例库:同类问题快速查解决方案,处理时间缩短60%
大数据·人工智能
210Brian3 小时前
嘉立创EDA硬件设计与实战学习笔记(二):元件符号与封装的绘制
大数据·笔记·学习
历程里程碑3 小时前
Proto3 三大高级类型:Any、Oneof、Map 灵活解决复杂业务场景
java·大数据·开发语言·数据结构·elasticsearch·链表·搜索引擎
第二只羽毛3 小时前
IO代码解释3
java·大数据·开发语言