Elasticsearch(一) - Elasticsearch 入门简介

Elasticsearch(一) - Elasticsearch 入门简介

概述

本文主要从以下 7 个方面对 Elasticsearch 进行了简单的介绍:

  1. Elasticsearch 起源
  2. Elasticsearch 的主要特性
  3. Elasticsearch 相关概念及术语
  4. Elasticsearch 典型的应用场景
  5. 为什么要使用 Elasticsearch?
  6. 补充: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 月

二、Elasticsearch 的主要特性

1. 主要特性

2. 不同版本的新特性


三、Elasticsearch 相关概念及术语

1. 逻辑视图(开发视角)

2. 物理视图(运维视角)

3. 和 SQL 数据库的类比


四、Elasticsearch 典型的应用场景


五、为什么要使用 Elasticsearch?


六、补充:Elastic 技术栈简介


总结

猜你喜欢

转载自www.cnblogs.com/dukelu/p/12357327.html