【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

相关推荐

  1. ElasticSearch概述

    2024-01-31 06:14:03       27 阅读
  2. Elasticsearch 查询语句概述

    2024-01-31 06:14:03       40 阅读
  3. ElasticSearch - 基础概念和映射

    2024-01-31 06:14:03       21 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-31 06:14:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-31 06:14:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-31 06:14:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-31 06:14:03       20 阅读

热门阅读

  1. python如何通过git分支名获取对应的mr

    2024-01-31 06:14:03       40 阅读
  2. (Rust)LeetCode 热题 100-两数之和

    2024-01-31 06:14:03       31 阅读
  3. Hive之set参数大全-21

    2024-01-31 06:14:03       20 阅读
  4. React hooks子组件暴露方法示例

    2024-01-31 06:14:03       35 阅读
  5. django heroku 部署问题汇总

    2024-01-31 06:14:03       26 阅读
  6. SpringBoot 多模块开发 笔记

    2024-01-31 06:14:03       32 阅读