Elasticsearch(一) - Elasticsearch 入门简介
概述
本文主要从以下 7 个方面对 Elasticsearch 进行了简单的介绍:
- Elasticsearch 起源
- Elasticsearch 的主要特性
- Elasticsearch 相关概念及术语
- Elasticsearch 典型的应用场景
- 为什么要使用 Elasticsearch?
- 补充:Elastic 技术栈简介
一、什么是 Elasticsearch?
Elasticsearch 官方文档(7.6版本)对 Elasticsearch 的简单说明
Elasticsearch is the distributed search and analytics engine at the heart of the Elastic Stack.
Elasticsearch 是一个分布式的搜索和分析引擎,是 Elastic 技术栈的核心。
- 近实时搜索(Near Real Time)
- 分布式存储/搜索/分析引擎
二、Elasticsearch 的诞生
Shay Banon 在 2004 年创造了 Elasticsearch 的前身,称为 Compass。在考虑 Compass 的第三个版本时,他意识到有必要重写 Compass 的大部分内容,以创建一个可扩展的搜索解决方案。因此,他创建了一个从头构建的分布式解决方案,并使用了一个公共接口,即 HTTP 上的 JSON,它也适用于 Java 以外的编程语言。Shay Banon 在 2010 年 2 月发布了 Elasticsearch 的第一个版本。 - 维基百科
- 2004 年,为了方便妻子搜索菜谱,Shay Banon 基于 Lucene 开发了 Compass(Elasticsearch 的前身)
- 2010 年,重写完成,发布了 Elasticsearch 的第一个版本,并将其开源给公众(主要扩展水平扩展和多语言调用)
感兴趣的话,不妨看看官网记录的 Elasticsearch 发展历程:The History of Elasticsearch
Lucene 简介
Apache Lucene 官网 的说明如下:Lucene Core is a Java library providing powerful indexing and search features, as well as spellchecking, hit highlighting and advanced analysis/tokenization capabilities.
Lucene Core 是一个基于 Java 开发的依赖库,提供强有力的索引和搜索特性,同时具有拼写检测、命中高亮、高级的分析和标记能力。
- Lucene 是一个基于 Java 语言开发的搜索引擎类库,具有高性能、易扩展的特性
- Lucene 由 Doug Cutting 于 1999 年创建,并在 2005 年成为 Apache 的顶级开源项目
- Lucene 的一些局限性:只能基于 Java 语言开发、API 学习路线陡峭、不支持水平扩展
三、Elasticsearch 的版本更迭
版本说明
- 主要版本,例如 1.0.0、2.0.0、5.0.0、6.0.0 和 7.0.0,用于推出新功能和中断向后兼容性。
- 次要版本,例如 6.1.0 和 6.2.0,用于推出新功能。
主要版本 | 发布时间 |
---|---|
0.4.0 | 2010 年 2 月 |
1.0.0 | 2014 年 1 月 |
2.0.0 | 2015 年 10 月 |
5.0.0 | 2016 年 10 月 |
6.0.0 | 2017 年 10 月 |
7.0.0 | 2019 年 4 月 |