Elasticsearch 教程
Elasticsearch 教程
Elasticsearch 教程提供了基本的和Elasticsearch 数据库的高级概念。本教程基本上是为初学者以及想要学习 Elasticsearch 基础知识和高级概念的专业人士设计的。 Elasticsearch 是一个 NoSQL 数据库,它在 Apache 2.0 版下获得许可。本教程包含多个部分。
我们在本教程中提供的指南旨在提供有关如何使用 Elasticsearch 的知识。要使用 Elasticsearch,您应该具备 Java、Web 技术和 JSON 的基本知识。
什么是 Elasticsearch?
Elasticsearch 是一种 NoSQL数据库,使用Java编程语言开发。它是一个实时、分布式和分析引擎,专为存储日志而设计。它是一个高度可扩展的文档存储引擎。类似于MongoDB,它以文档格式存储数据。它使用户能够执行高级查询以执行详细分析并集中存储所有数据。
Elasticsearch 数据库在 Apache 2.0 版下获得许可,并基于 Apache Lucene 搜索引擎。它是内置的 RESTful API,有助于完成请求和响应请求。它是 Elastic Stack 的重要组成部分,或者我们也可以说它是 Elastic Stack 的核心。它是开源的,这意味着它可以免费获得。因此,任何人都可以下载它而无需支付任何费用。
Elasticsearch 主要用于单页应用程序(SPM) 项目。世界各地的许多大型组织都在使用它。它支持完全基于文档而不是模式和表的全文搜索。还有一些其他基于搜索的引擎可用,但它们都基于表和模式。一个典型的 Elasticsearch 文档看起来像这样-
{
"first_name": "Alex",
"last_name": "Batson",
"phone_no": "987654321",
"email": abc@gmail.com,
"city": "New York",
"country": "USA",
"occupation": "Software Developer",
}
为什么选择 Elasticsearch?
对于大型数据集,关系数据库的工作速度相对较慢,并且在执行查询时会导致从数据库中获得缓慢的搜索结果。 RDBMS 可以优化,但也带来了一系列限制,例如每个字段都不能被索引,以及为大量索引的表更新行
Elasticsearch 是一个 NoSQL 分布式数据库,这是一个解决方案快速检索和存储数据。
使用 Elasticsearch NoSQL 数据库还有一些其他原因-
Elasticsearch 允许您执行和组合各种类型的搜索,例如结构化和非结构化。它还有助于处理基于地理和矩阵的数据。
您可以根据需要从导入的数据中检索结果。这一切都基于结构化查询集。
它允许用户以任何他们想要的方式询问查询。
Elasticsearch 提供聚合,可帮助我们探索数据中的趋势和模式。
Elasticsearch 负责数据的查询和分析。
Elasticsearch 数据库有助于根据之前的搜索自动完成搜索查询。
Elasticsearch 的历史
Elasticsearch 由 Shay Banon 在 2010 年 2 月创建。他发布了 Elasticsearch 的第一个版本 0.4,但公司成立于 2012 年。 Elasticsearch 当前版本是 7.7,于 2020 年 5 月 13 日发布。
Elasticsearch 做了各种改动,下面详细讨论-
年 |
说明 |
2010 年 2 月 |
2010 年 2 月,Shay Banon 发布了 Elasticsearch 0.4 的第一个版本。 |
2012 |
2012 年,Elasticsearch 公司成立。 |
2015 年 2 月 |
2014 年 2 月,Elasticsearch 1.0 发布。 |
2015 年 3 月 |
Elasticsearch 于 2015 年 3 月更名为 Elastic。 |
2015 年 10 月 |
另一个版本的 Elasticsearch 2.0 发布了。 |
2016 年 10 月 |
Elasticsearch 5.0 于 2016 年 10 月发布。 |
2017 年 1 月 |
Elasticsearch 5.2 于 2017 年 1 月发布。 |
2020 年 5 月 |
当前版本的 Elasticsearch 7.7 于 2020 年 5 月 13 日发布。 |
Elasticsearch 的使用
知道为什么要使用 Elasticsearch 之后?现在让我们讨论 Elasticsearch 的用途-
Textual搜索
Elasticsearch 对于搜索纯文本很有用。它主要用于有大量文本的地方,但我们想用特定的短语搜索数据以获得最佳匹配。换句话说,我们搜索纯文本。
产品搜索
Elasticsearch 使用属性和名称,可提供更快的产品搜索。
地理搜索
Elasticsearch 还用于对任何产品进行地理定位。例如-可以使用"所有在印度提供 PGDM 课程的机构"这样的搜索查询来显示相关信息Elasticsearch 的研究所,该机构在印度提供 PGDM 课程。
数据聚合
聚合的框架提供基于搜索查询的聚合数据。它允许使用简单的搜索查询对数据进行分组和执行计算和统计。聚合可以是
自动建议
Elasticsearch 有一个自动建议功能,它提供了一些建议来完成一个不完整的查询。这允许用户输入几个字符,然后它会自动显示几个建议来完成查询。
自动完成
基于之前的搜索, Elasticsearch 数据库帮助自动完成搜索查询。
JSON 文档存储
Elasticsearch 以文档的形式存储数据。文档是存储在 Elasticsearch 索引中的 JSON 对象。换言之,文档被视为可以编制索引的基本存储单元。
指标和分析
它分析了一个仪表板,该仪表板包括多个电子邮件、日志、系统日志和数据库,可帮助企业了解其数据并提供可操作的见解。
Elasticsearch 可以在哪里使用?
Elasticsearch(ES) 用作存储和分析由不同系统生成的日志的工具。
它具有无架构的性质。因此,它不需要添加新列来向表中添加新列。 Elasticsearch 允许向索引中的传入数据添加新列。它容纳了新列并使它们可用于进一步操作。
Elasticsearch 允许从传入连接中实时提取指标。因此,它适用于数据的时间序列分析。