【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
相关推荐
人类群星闪耀时14 分钟前
物联网与大数据:揭秘万物互联的新纪元
大数据·物联网·struts
risc12345621 分钟前
【Elasticsearch】Search Templates(搜索模板)
elasticsearch
桃林春风一杯酒6 小时前
HADOOP_HOME and hadoop.home.dir are unset.
大数据·hadoop·分布式
桃木山人7 小时前
BigData File Viewer报错
大数据·java-ee·github·bigdata
B站计算机毕业设计超人7 小时前
计算机毕业设计Python+DeepSeek-R1高考推荐系统 高考分数线预测 大数据毕设(源码+LW文档+PPT+讲解)
大数据·python·机器学习·网络爬虫·课程设计·数据可视化·推荐算法
数造科技7 小时前
紧随“可信数据空间”政策风潮,数造科技正式加入开放数据空间联盟
大数据·人工智能·科技·安全·敏捷开发
逸Y 仙X10 小时前
Git常见命令--助力开发
java·大数据·git·java-ee·github·idea
元气满满的热码式11 小时前
logstash中的input插件(http插件,graphite插件)
网络·网络协议·http·elasticsearch·云原生
caihuayuan411 小时前
PHP建立MySQL持久化连接(长连接)及mysql与mysqli扩展的区别
java·大数据·sql·spring
B站计算机毕业设计超人11 小时前
计算机毕业设计Hadoop+Spark+DeepSeek-R1大模型民宿推荐系统 hive民宿可视化 民宿爬虫 大数据毕业设计(源码+LW文档+PPT+讲解)
大数据·hadoop·爬虫·机器学习·课程设计·数据可视化·推荐算法